c# - 哪种 ORM 最适合这里?

标签 c# .net orm

我需要为一个项目选择一个 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/

相关文章:

c# - Azure 函数获取登录标识

C# WPF-组合框

c# - 从字符串中删除所有特殊字符

c# - 动态创建表格布局面板耗时过长

c# - 从 NamedPipeClientStream 调用时命名管道未连接

c# - 对锁使用 protected 字段是否可以(或者我可以避免 protected 锁而不添加辅助方法,如获取锁等。在基础中)?

.net - 从 .net 调用 R(编程语言)

java - 如何使用 Hibernate @Any 相关的注解?

.net - 如何微调 FluentNHibernate 的自动映射器?

mysql - Sequelize 将此作为响应返回 [ {'primaryKey' :null}] to findAll method