NHibernate 数据库优先设计模式

5

首先,我要告诉你我对Nhibernate一窍不通,但我想知道如何将Nhibernate应用于已有的数据库。这个数据库本身相当大(我在我的CPU上测试的部分占用了1GB)。我不太喜欢通过XML进行映射。我认为这个工具可能会帮助我(https://www.devart.com/entitydeveloper/),但它的性能并不令人满意。那么,我是应该使用代码,然后再用XML进行映射呢?还是说我有其他可能的选择?

2个回答

3
我知道有两个选项:

1
除了上述两个插件外,NHibernate还内置了“Mapping-By-Code”支持。无需使用XML。 - Oskar Berggren
我赞同通过代码进行映射。它与XML一样灵活,但旨在更快,因为在会话工厂启动时没有要解析的XML映射。如果我没记错的话,Fluent在幕后动态创建XML,因此sessionfactory启动速度不够快。这里还有一个很好的关于映射和流畅性的资源:http://notherdev.blogspot.com/2012/02/nhibernates-mapping-by-code-summary.html。 - Fran

0

除非您有使用 NHibernate 的要求,否则我强烈推荐使用 Dapper,特别是如果您关心性能的话。对于 CRUD,您可以考虑使用 Dapper Contrib 或 Dapper Rainbow

Dapper Rainbow vs Dapper Contrib

介绍 Dapper


Dapper ContribDapper Rainbow 可以从现有的数据库生成模型吗? - Konrad
2
它可能是或可能不是Dapper更好-这实际上是一个基于观点的讨论,而不是StackOverflow问题的问题。但无论如何,这个问题是关于NHibernate特别的,所以这不是一个答案。 - Stephen Holt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接