0

任何人都可以回答我的问题吗? 我们正在决定实施我们的数据访问层。最初我们与NHibernate工作,但现在有一个变化,所以请回答我的问题...ADO.NET实体框架和LINQ to SQL

IS的LINQ to SQL的ADO.NET实体 框架的一部分或者是一个独立的 库?

如果我说我使用“的LINQ to SQL”为 我的数据访问层,然后它意味着 我使用ADO.NET实体框架 实现数据 访问层。

回答

0

总之不,Linq to sql和Ado.net实体框架是两个不同的东西。

Linq是一种语言功能。 Linq to Sql是一个扩展,它允许你在你的数据库中使用linq特性。它就像基本的DAL生成工具。 Ado.net实体框架是和NHibernate类似的ORM。

1

IS的LINQ to SQL的ADO.NET实体 框架的一部分或者是一个独立的 库?

不,它是一个单独的库。

如果我说我使用“的LINQ to SQL”为 我的数据访问层,然后它意味着 我使用ADO.NET实体框架 实现数据 访问层。

编号LinqToSql和实体框架是独立的竞争产品。微软推荐人们使用Entity Framework,但大多数人都在使用LinqToSql。微软将大部分开发资源投入实体框架,而不是LinqToSql。在.NET 3.5中,LinqToSql通常是实体框架的优秀产品,但直接比较是困难的。

+0

@迈克尔:-1,因为如果直接比较是困难的,那么为什么比较? – 2010-02-10 10:38:20

+1

@约翰桑德斯:这个问题没有要求比较,但这似乎是明显的后续问题。我只是想帮助。微软用LinqToSql和EntityFramework的营销信息做了一件非常糟糕的工作。我宁愿指出微软在两个ORM的立场上的明确声明,但我还没有找到任何东西。如果我的答案中有错误,这将有助于了解。 – 2010-02-10 10:52:39

+0

+2来自MSFT的搞砸的营销信息... :) – KristoferA 2010-02-10 10:56:42

1

LINQ to SQL和ADO.NET实体框架是两个截然不同的产品,它们实现了两个不匹配的API,这意味着您不能只为另一个交换一个。取决于你的观点,两者都有自己的长处和短处。 .NET 4还将为这两者添加一些改进,将更多改进应用于ADO.NET实体框架。

但它们是不同的不同的ORM的,你必须选择一个比其他...