【发布时间】:2009-02-17 17:50:52
【问题描述】:
注意:现在来回答这个问题的人,请注意日期。这个问题已经有将近4年的历史了,信息也比较过时。根据我的经验,NHibernate 现在相对容易使用(具有流畅的界面),Entity Framework 是一个合法的竞争者,而诸如 Dapper 和 Massive 之类的 MicroORMS 正变得非常流行。
我们正在重写我们的核心 Web 应用程序之一,我终于从管理层那里得到了所有信息,用 ORM 框架替换可怕的存储过程,以实现我们的数据访问层。
我万岁。现在我必须选择一个。
我已经玩了一点以下
- NHibernate
- Castle ActiveRecord(我们会用它来驱动我们的 DTO 对象)
- Subsonic
现在我知道 NHibernate 是真正的 Alt.Netty 选择,但问题是我正在与据我所知从未听说过它的承包商合作,而且 NHibernate 以相当长的学习曲线而闻名。与此同时,亚音速似乎是一种更直接的方法。我也知道Entities Framework,但对它的“meh”接收和Linq to Oracle 持谨慎态度,但我对我几乎没有听说过任何消息这一事实保持警惕。
所以问题是:
- 我还应该考虑其他框架吗?
- 您对我的情况有什么建议?
更多注意事项:
- 当我说我玩过这些框架时,我是认真的。我已经对它们进行了配置并使用它们来提取一些数据以确保一切正常。这就是它的程度。
- 这是一个 Oracle 数据库(您可能已经从包含 Linq2Oracle 中猜到了)
- 由于这是一次重写,因此数据库已经存在并且具有稳定的架构
- 我不太担心性能。我们的应用程序通常一次最多为几个人服务。
- 你们将不得不回答我将要提出的大量问题
我倾向于 Subsonic,但我很好奇人们可能会说什么。
【问题讨论】:
-
@Omu - 有趣的小实用程序,但绝不是 ORM
-
它不是 ORM,但如果您需要完全控制您的 sql,它会更好
-
比什么好?将关系存储映射到对象并不好。您是说 ORM 并不适合所有情况吗?在这种情况下,我同意。
-
+1 用于在事后维护职位