Sql server linq到sql与ado.net实体

Sql server linq到sql与ado.net实体,sql-server,linq-to-sql,entity-framework,linq-to-entities,Sql Server,Linq To Sql,Entity Framework,Linq To Entities,如果我使用SQL Server作为我的数据库服务,是否有任何令人信服的理由来研究LINQ to Entities而不是LINQ to SQL?LINQ to SQL不再被积极开发-他们将资源集中在实体框架上。此外,EF的健壮性要高得多,它允许许多在LINQtoSQL中被忽略的更高级的场景 在你调查ORMs的时候,我会认真看看NHibernate。它比微软的任何一款产品都存在的时间更长,功能更为广泛。Linq to SQL不再积极开发,他们将资源集中在实体框架上。此外,EF的健壮性要高得多,它允许

如果我使用SQL Server作为我的数据库服务,是否有任何令人信服的理由来研究LINQ to Entities而不是LINQ to SQL?

LINQ to SQL不再被积极开发-他们将资源集中在实体框架上。此外,EF的健壮性要高得多,它允许许多在LINQtoSQL中被忽略的更高级的场景


在你调查ORMs的时候,我会认真看看NHibernate。它比微软的任何一款产品都存在的时间更长,功能更为广泛。

Linq to SQL不再积极开发,他们将资源集中在实体框架上。此外,EF的健壮性要高得多,它允许许多在LINQtoSQL中被忽略的更高级的场景


在你调查ORMs的时候,我会认真看看NHibernate。它比微软的任何一款产品都存在的时间更长,而且用途更广。

如果您只想在类和表之间实现一对一的映射,那么Linq到SQL就足够了,可以将其视为数据集的“对象”版本

EF允许您执行更复杂的映射

从长远来看,微软正在推动大家使用EF,但EF的使用更加复杂。在.NET4发布之前,很难使用EF进行试驾开发

如果要将所有数据访问隐藏在一组接口后面,并根据从数据库获得的行自己创建域对象,那么从短期来看,Linq到SQL是一个不错的选择。但从长远来看,你可能会被迫转向英孚

如果您希望使用ORM将域对象映射到数据库,那么EF是一个更好的对象,但是也可以考虑


如果您几年后回来,您的问题的答案将是EF,但目前还不清楚……

如果您只想在类和表之间实现一对一的映射,那么Linq到SQL就足够了,可以将其视为数据集的“对象”版本

EF允许您执行更复杂的映射

从长远来看,微软正在推动大家使用EF,但EF的使用更加复杂。在.NET4发布之前,很难使用EF进行试驾开发

如果要将所有数据访问隐藏在一组接口后面,并根据从数据库获得的行自己创建域对象,那么从短期来看,Linq到SQL是一个不错的选择。但从长远来看,你可能会被迫转向英孚

如果您希望使用ORM将域对象映射到数据库,那么EF是一个更好的对象,但是也可以考虑


如果您在几年后回来,您的问题的答案将是EF,但目前还不清楚……

选择实体框架而不是LinqToSql有很多令人信服的理由,但您应该只需要一个:

Microsoft更希望您使用实体框架。微软将他们的大部分ORM开发资源投入EF。这是他们未来的道路

不幸的是,EF 3.5在多个方面都比LinqToSql倒退了一大步,所以微软真的把很多想使用EF的人推回到了LinqToSql。在EF4.0中,EF的特性并不完全等同于LinqToSql,但它更接近LinqToSql

EF4.0确实提供了许多LinqToSql目前不支持的功能,而且可能永远也不会支持


但要远离EF3.5。如果您想要.NET3.5的ORM,请使用NHibernate。对于.NET4.0,在NHibernate和EntityFramework之间进行选择。在.NET 4.0中使用LinqToSql并不是一个很好的理由。

选择实体框架而不是LinqToSql有很多令人信服的理由,但您应该只需要一个:

Microsoft更希望您使用实体框架。微软将他们的大部分ORM开发资源投入EF。这是他们未来的道路

不幸的是,EF 3.5在多个方面都比LinqToSql倒退了一大步,所以微软真的把很多想使用EF的人推回到了LinqToSql。在EF4.0中,EF的特性并不完全等同于LinqToSql,但它更接近LinqToSql

EF4.0确实提供了许多LinqToSql目前不支持的功能,而且可能永远也不会支持


但要远离EF3.5。如果您想要.NET3.5的ORM,请使用NHibernate。对于.NET4.0,在NHibernate和EntityFramework之间进行选择。在.NET 4.0中使用LinqToSql确实没有什么好的理由。

复制很多很多次:等等等等。复制很多很多次:等等。等等。L2S在.NET 4中得到了增强(一些)。@Craig:L2S的增强是什么?L2S得到了增强(一些)在.NET4中。@Craig:L2S的增强功能是什么?这取决于您如何进行TDD。如果您使用实际的数据库进行单元测试,那么EF不存在这种缺点。问题的答案实际上是NHibernate-不幸的是,这不是某些商店的选项。@John-除非您实际测试数据访问层,否则单元测试不应依赖于数据库。如果您希望使用Asp.net动态数据、Siverlight的新数据服务器等,NHibernate不是一个好的选择,因为NHibernate在Linq方面做得不好yet@Keith当前位置你试试你的方式,我试试我的。小,快速,包括数据库的测试,我没有发现是一个问题。我也不会对UI进行单元测试。这取决于您如何进行TDD。如果您使用实际的数据库进行单元测试,那么EF不存在这种缺点。问题的答案实际上是NHibernate-不幸的是,这不是某些商店的选项。@John-除非您实际测试数据访问层,否则单元测试不应依赖于数据库。它的速度很慢,而且违反了孤立测试的整个理念