2009-09-18 59 views
0

我喜欢用SQL,我想我与它相当不错。O/RM选择(LINQ的不依赖)

我尝试使用Linq(使用c#和Linq2Sql,看起来感觉像VB.Net更像SQL),我觉得这是非常令人沮丧的,你不能只运行你的查询而不编译和执行代码。对于IQueryable,IEnumarable,IList等我并不是很了不起。我对于为什么在你是专业SQL用户时使用Linq存在怀疑。

但我需要某种形式的O/RM的,所以我可以写我的测试代码,而我喜欢使用波苏斯,而不是数据集。

所以在我的团队考虑大家也一定程度的SQL专家(主要是MS SQL因此,T-SQL)的,享受数据库编程,你会recommmend其中O/RM。 (商业或开源没有关系,良好的支持,教程和文档是必须的)

我们的开发环境将是C#,ASP.Net MVC与ExtJS的一起。

我们有我们的应用程序有点超过1000台,我们将要迁移。您不会相信ADO.Net Entity Framework会在其上生成多少代码。我也尝试了一下Castle ActiveRecord,(我不知道任何关于(N)休眠和没有足够的ActiveRecord文档来让我去)

回答

3

最好的ORM支持LINQ的,这样就不会真正成为一个问题两种方式。 LinqPad一定会帮助你学习曲线。 Linq具有显着的优势,所以你应该尝试离开你的T-SQL舒适区并拥抱它。

随着1000表,我肯定会远离LinqToSql和客场的EntityFramework,他们只是不有效扩展。如果可能的话,你也想要一些体面的代码生成。

有NHibernate的代码生成选项,但它们通常无论是从我所看到的缺乏或商业。可能有一些很棒的免费产品,我还没有找到它。我不知道城堡ActiveRecord的是你想要什么,但它绝对上手的一种方式,你以后可以随时转换到其他模式NHibernate的顶部。

我不知道亚音速具有足够的功能来支持写在1000台数据库之上的大型应用程序,但它可能是一个不错的选择,否则。

LLBLGEN Pro是一个商业产品,我认为最符合您的需求。

已经有很多其他的讨论对SO和有关选择.NET ORM别处:

NHibernate, Entity Framework, active records or linq2sql

+0

我投LLBLGEN。 – 2009-09-19 08:41:32

+0

Michael,你为什么要推销SubSonic? :)恕我直言,它是_incomparabe_几乎任何其他现代ORM支持LINQ。 – 2009-11-05 22:08:41

+1

亚历克斯,我没有像我相信你做的亚音速直接竞争的产品。看起来有很多人对SubSonic的Linq支持非常满意,除了你。你的声誉在你之前。我很乐意阅读有关亚音速的支持LINQ具有零个关系到你,你的公司,或者你的网站的批评。 – 2009-11-06 10:10:55

1

但我需要某种O/RM,所以我可以写我的测试代码,我喜欢使用POCO而不是数据集。

然后我会强烈建议SubSonic [仿佛否则我不会:)。

5

不是一个真正的答案,但驳回LINQ作为查询语言^^

规则很简单,之前尝试LINQPad一周:

  • 找到适用于SQL Management Studio中的快捷方式在你的开始菜单 并将其移动到其他地方。
  • 取而代之,插入LINQPad的快捷方式。
  • 在接下来的一周内,只使用LINQPad执行所有即席SQL查询。
0

看看iBatis,我的理解是,它是围绕SQL薄得多的层比大多数OR/M解决方案。

0

在我的Java日子里,我用Hibernate和自从搬到C#在几年前,我一直在使用NHibernate。像iBatis一样,它是Java ORM的一个端口,因此可以从双方开发的功能中受益。文档也很好。你甚至可以在那里找到几本书。