我需要为一个项目选择一个 ORM,并且我只有一些 NHibernate 经验。我一直在看StackOverflow的Q&A,和我的需求最相似的是What ORM for .net should I use? ,但我想得到一个更适合当前产品的答案(链接来自 2009 年),并且还考虑到我项目的一些要点。
对我来说,最简单的解决方案是使用 NHibernate,因为它成熟、功能丰富,而且我已经使用过它,但我更愿意为项目选择最佳选项,即使我必须再次“学习”。
该项目将作为与 SAP 通信的核心开始。核心必须支持独立和/或相互依赖的模块,并且每个模块都可能需要使用数据库中自己的数据。最后一步是实现我们使用的 SAP 部分。我需要的特征是上一个链接中的特征,这里还有一些需要注意的事项:
我希望能够拆分数据访问层,以便拥有一两个模块的用户不需要整个数据访问层。
设计师将不胜感激。
一开始会有大约 20-30 张 table ,几年内,这个数字将增加到数百张。
每个表的寄存器数量从两三个到 150000+(很少)不等。
它不必是单一产品解决方案。 NHibernate 和 Devart Entity Develop 等组合也受到欢迎。
这个项目的团队也有学生需要学习 C Sharp,他们中的一些人可能不知道 ORM 到底是什么,所以如果它很简单,或者至少是这样,那就太好了,基本的东西并不是很复杂(混合了大量的 lambda、反射、扩展方法等)。
最后一项不是很重要。我希望这足够具体,以避免被关闭(我链接的问题仍然悬而未决)。
编辑: - 这是一个桌面应用程序。 -文档和社区也非常非常重要。
最佳答案
当今 .Net 中最流行的 ORM 是 Entity Framework 。它来自 Microsoft,以 MSDN 风格记录得很好。它符合您的标准。
我与 NHibernate 合作,发现文档不完整、不一致,有时甚至缺失。大多数时候我不得不使用 Hibernate 的文档,而这些文档不适用于 NHibernate,只是类似。
EF 可以做同样的事情,而且比 NHibernate 做得更多,而且最新版本有迁移,这是缺失的(当我使用 NHibernate 时)。
关于c# - 哪种 ORM 最适合这里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11085829/