gpt4 book ai didi

.net - 选择 Entity Framework 作为针对 Nhibernate 的默认实现 ORM,优缺点?

转载 作者:行者123 更新时间:2023-12-01 08:57:07 27 4
gpt4 key购买 nike

我在一家开发公司工作,开发中小型基于web的项目,我们主要使用微软技术,目前处于技术选择阶段,我们正在研究ORM,我们需要选择标准的ORM对于我们 future 的项目,现在我们将选择范围缩小为两个:-

• hibernate :-

  1. 成熟。
  2. 开源。
  3. 功能丰富。
  4. 可配置且灵活,最大限度地扩展。
  5. 得到强大社区的大力支持。
  6. 已在许多地方证明是成功的。

• Entity Framework :-

  1. 一款微软产品;这意味着与其他 Microsoft 产品的紧密集成。
  2. 得到高度支持和大量在线资源,以及相当强大的在线社区。
  3. 发展非常快,修复速度非常快,而且一天比一天好。
  4. LINQ。
  5. 学习曲线低于 Nhibernate。

技术分别按以下衡量:-

  1. 易于使用 - 在我们的项目中,时间真的很重要。
  2. 长期决策,我的意思是我们不会不断在技术之间转换。
  3. 与 Microsoft 产品集成。
  4. 在合规性工具(例如 Nhibernate 的 activerecord)、社区和版本方面提供支持。
  5. 这将是我们使用的唯一标准。
  6. 配置灵活。
  7. 特点 - 我们不需要很多复杂的映射,也不需要二级缓存,我们现在可以用 SP 代替批处理。

我的问题 选择 Entity Framework 而不是 Nhibernate,作为我们公司 future 默认的 ORM 实现,从长远来看,这样的决定有什么利弊?

不要误会我的意思;我知道 Nhibernate 目前是正确的答案,但考虑到 EntityFramework 的快速发展,它是否会是不久的将来甚至遥远的 future 的正确选择。


我在研究中依赖的一些资源:-

http://ayende.com/blog/4351/nhibernate-vs-entity-framework-4-0

NHibernate, Entity Framework, active records or linq2sql

Which ORM tool should I use for .Net development

http://blogs.msdn.com/b/adonet/archive/2012/03/22/ef5-beta-2-available-on-nuget.aspx

最佳答案

I know that Nhibernate is the right answer for the time being, but will it be the right choice for the near future, or even the far future, taking is consideration the fast evolution of EntityFramework.

没有人能回答这个问题。我相信即使是 ADO.NET 团队也会对此有疑问,因为此时甚至没有 future 将要实现的功能的路线图。目前,开发过程主要由 Data UserVoice 驱动。并且无法知道我们下个月可以期待哪些功能,明年可以期待哪些功能以及我们永远不会拥有哪些功能。


没有正确答案。此外,您尝试执行的整个“标准化”过程都是错误的。为您当前的问题使用正确的解决方案!为将来必须解决的任何问题选择单一的“标准”,而不知道那个问题,也不知道那时有什么工具可用,这是愚蠢的。

您的整个想法与敏捷性和最佳实践背道而驰。它甚至可以增长到 internal frameworks or SW factories . .NET 开发是高度动态的领域。今天可以认为是好的选择明年可能会被弃用,所以不要用“标准”来约束自己。 future 可能会有更有趣的选择或更有趣的技术和实践转变(例如 NoSql 数据库)。

如果您想要长期的战略解决方案,请使用大型机和 COBOL。他们已经证明了自己的一生。

关于.net - 选择 Entity Framework 作为针对 Nhibernate 的默认实现 ORM,优缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119478/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com