c# - MS Entity Framework VS NHibernate 及其派生贡献(FluentNHibernate、Linq for NHibernate)

标签 c# vb.net nhibernate entity-framework fluent-nhibernate

我刚读到这个article关于 Entity Framework 4(实际上是版本 2)。

Entity Framework似乎比它的第一个版本有了巨大的改进。因此,我从来没有在任何项目中使用过 EF,因为我认为 EF 与 NHibernate 相比还不够成熟。

NHibernate及其当前的贡献 FluentNHibernateLinq for NHibernate by Ayende Rahien

我的感觉是,当 NHibernate 的第二个版本问世时,Microsoft 只是想重新获得它在支持 NHibernate 时失去的领域。不过,我担心的是以下几点(排名不分先后):

  • EF4 是否会减少 XML 的冗长程度?
  • EF4 是否与 SQL Server 以外的基础数据存储兼容?
  • 使用 EF4 而不是 FluentNHibernate 或 NHibernate 本身的最大好处是什么?

NHibernate 是一个很棒的工具,我想每个人都同意。由于其前身 Hibernate,我们可以很容易地找到文档和教程以及示例应用程序来熟悉它。 FluentNHibernate 不是这种情况。特别是根据我现在正在进行的项目,它要求我进一步研究 NHibernate 及其选项(例如 FluentNHibernate),以便记录 NHibernate 和 FluentNHibernate 技术的使用规则和最佳实践。因此,作为一名 C-Style 开发人员,我被 VB.NET 束缚住了手铐,尽管到目前为止我已经找到了 VB.NET 中提供的示例的一些语法等价物。

我确实相信 NHibernate 是最佳选择,但作为一名软件顾问,我不能(不想)错过重要的技术变化、改进和发展。

尽管我读到关于 EF1 的负面评论,但 EF4 似乎很有前途。大家对 NHibernate 和 Entity Framework 途径有何看法?至于我,我对所有这些读数感到困惑。我需要你把我的头从水里拉出来。

谢谢大家!

最佳答案

我对 EF 几乎一无所知,但快速浏览一下所提供的链接让我相信EF 不具备 Fluent NHibernate 的自动映射功能

编辑:一些评论者向我指出链接表明在 EF 中有一些自动映射,但它是否像 FNH 一样强大(例如,能够自动映射其他对象的集合)。

就个人而言,我喜欢能够以面向对象的方式设计 POCO,并让该工具处理映射到关系数据库的所有繁忙工作。

据我所知,FNH 仍然具有最强大的自动映射功能。

转到 Fluent NHibernate Automapping了解更多信息。

关于c# - MS Entity Framework VS NHibernate 及其派生贡献(FluentNHibernate、Linq for NHibernate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201355/

相关文章:

.net - 禁用 datagridview 中的默认 Enter/Return 键行为

asp.net - 检测 VB.Net 中数字的文化,即小数点/千位分隔符的句点或逗号

asp.net - 在 NHibernate 的多对多关系上添加自定义列

c# - NHibernate 多对多关系表中的附加字段

asp.net - .NET Parallel.ForEach 可能会弄乱 NHibernate 上下文 session

c# - 选择 -> 引用自身(当前创建的列表)

c# - 库中的 AutoMapper 配置文件类 - AutoMapperMappingException : Missing type map configuration or unsupported mapping error

C# 如何识别一组同名进程的成员?

vb.net - := mean in vb. 网是什么?

c# - 在触发错误中设置TextDecoration