22

只是想知道大家对 SQL Azure 使用什么 ORM 有什么想法?

我对使用 LINQ-to-SQL 相当满意,并且我相信它可以与 SQL Azure 一起使用。但是,根据我的理解(如果我错了,请纠正我),在未来的 .NET 框架版本中不会对 Linq-to-SQL 进行进一步改进吗?

或者,还有实体框架……离微软阵营更远的是 NHibernate。

理想情况下,提出的任何其他建议都应该是免费的或开源的。我见过Telerik 的 ORM,但这当然是一个商业产品。

我可以通过 Google 搜索自己获得每个 ORM 的定义/优点,但我只是对人们关于哪种 ORM 似乎最适合他们的意见感兴趣(即使以上都不是)

4

7 回答 7

6

DataObjects.Net支持 SQL Azure。它在 GPL 下可用(但不是 LGPL - 即如果 GPL 对您来说太严格,您必须获得商业许可)。

于 2010-03-12T19:09:08.137 回答
5

我们目前在 Azure 上使用 NHibernate,并且发现它非常好。

因为我们使用s#arp 架构来提供 NHibernate 和依赖注入的大部分管道代码,所以我们已经设法让项目以良好的坚实基础快速启动。总而言之,它非常轻松,但是当您第一次开始使用 NHibernate 时,可能会有一些陡峭的学习曲线。

我不确定您是否了解 Fluent NHibernate - http://fluentnhibernate.org - 但它是一个很棒的工具,会自动将您的业务对象映射到您的数据库中。它当然可以根据您需要的任何行为进行定制。

于 2010-03-12T11:48:40.180 回答
5

我最近爱上了 Entity Framework 4.0 对 ORM/数据持久性的“代码优先”方法。

毫无疑问 - EF4.0 比以前的 EF 版本领先几光年,并推动 EF 成为 ORM 市场上的真正竞争对手。

通读PDC 2010 中Hanselman 的EF 代码优先演示脚本或Scott Guthrie 的 Code First演练 :)

于 2011-03-22T19:28:29.797 回答
1

查看 NHibernate。应该是现在的第一线。

否则一个好的资源总是http://www.ormbattle.net/

于 2010-03-12T09:29:10.213 回答
1

我将 Linq-to-SQL 与我的 SQL Azure 数据库一起使用。我的类和数据库表之间有一个简单的一对一模型,因此它是最简单的解决方案并且可以完美运行(除了一些 SQL Azure 故障)。

Entity Framework vs LINQ to SQL问题将为您解答。

于 2010-03-12T09:34:00.377 回答
1

我一直在相当成功地使用 Entity Framework 1.0,而且我很确定 4.0 会更好,特别是它支持 POCO(所以你从一开始就摆脱了与上下文相关的对象)。无论哪种版本,一旦您掌握了 LINQ 支持,它就会产生巨大的影响。

但我会说你应该将任何 ORM 视为一种选择——如果你将数据访问层设置为使用工作单元和存储库模式,然后使用你最喜欢的控制反转容器注入特定的实现,那么你将获得自己多一点工作设置,但更多的长期自由。谁真正关心数据在哪里,或者你如何让它超过某个水平,重要的是你用它做什么

这就是我认为...

托比

于 2010-03-15T13:40:19.410 回答
1

杰米,

像 Toby 一样,我一直在成功使用 EF。我强烈推荐它。请注意,当我发布此内容时,我必须从我们模式的本地版本生成模型。这不是投标交易,但值得一提。预计这种情况在未来会有所改变。

伊恩

于 2010-03-24T17:18:22.393 回答