我需要为一个项目选择一个 ORM,而我只有一些 NHibernate 经验。我一直在阅读 StackOverflow 的问答,与我的需求最相似的是What ORM for .net 我应该使用什么?,但我想对目前的产品有一个更充分的答案(链接来自 2009 年),并且也考虑到我项目的一些要点。
对我来说最简单的解决方案是使用 NHibernate,因为它成熟、功能丰富并且我已经使用过它,但我更愿意为项目选择最佳选项,即使我必须再次“学习”。
该项目将作为与 SAP 通信的核心开始。核心必须支持独立和/或相互依赖的模块,并且每个模块都可能需要使用来自数据库的自己的数据。最后一步是实现我们使用的 SAP 部分。我需要的特征是上一个链接中的特征,这里还有一些要记住的事情:
我希望能够拆分数据访问层,这样拥有一两个模块的用户就不需要全部了。
设计师将不胜感激。
它将从大约 20 到 30 张桌子开始,并且在几年内,这个数字将增长数百。
每个表的寄存器数量从两个或三个到 150000+(很少)不等。
它不需要是一个单一的产品解决方案。NHibernate 和 Devart Entity Develop 之类的组合也受到欢迎。
这个项目的团队也将有学生必须学习 C Sharp,他们中的一些人可能不知道 ORM 到底是什么,所以如果它很简单,或者至少基本的东西不是,那就太好了非常复杂(混合大量 lambda、反射、扩展方法等)。
最后一个不是很重要。我希望这足够具体以避免被关闭(我链接的问题仍然是开放的)。
编辑: - 这是一个桌面应用程序。- 文档和社区也非常重要。