C# NET、实体框架和LINQ到SQL——我感到困惑

C# NET、实体框架和LINQ到SQL——我感到困惑,c#,linq-to-sql,entity-framework,ado.net,C#,Linq To Sql,Entity Framework,Ado.net,我需要在头脑中整理这些概念: 实体框架是新的ADO.NET吗?这两个术语有什么区别?LINQ与SQL之间的关系如何? 它是实体框架的一部分吗?实体框架是一个O/R映射器,它构建在ADO.NET之上。LINQ-to-SQL是另一种可选的O/R映射方法,但据我所知,微软未来会选择实体框架,而不是LINQ-to-SQL。ADO.NET是.NET框架的一部分。它由一些可以管理对数据库系统访问的库组成 LINQ to SQL是一种转换器,它允许您像对象一样使用数据库表。它是.NET3.5框架的一部分。它将

我需要在头脑中整理这些概念:

实体框架是新的ADO.NET吗?这两个术语有什么区别?LINQ与SQL之间的关系如何?
它是实体框架的一部分吗?

实体框架是一个O/R映射器,它构建在ADO.NET之上。LINQ-to-SQL是另一种可选的O/R映射方法,但据我所知,微软未来会选择实体框架,而不是LINQ-to-SQL。

ADO.NET是.NET框架的一部分。它由一些可以管理对数据库系统访问的库组成

LINQ to SQL是一种转换器,它允许您像对象一样使用数据库表。它是.NET3.5框架的一部分。它将转换sql中的对象查询。数据库访问也可以是ADO.NET


实体框架(又名ADO.NET实体框架)是一个ORM框架,这意味着它将在实体和数据库之间创建一个层,db访问将是ADO.NET(尽管它可能是其他的)

正如许多受访者所说,LINQ 2 SQL和实体框架已经构建在ADO.NET之上。Microsoft在对象关系映射(ORM)领域不存在。LINQ发布后,他们以LINQ2SQL的形式提出了一个权宜之计的解决方案。这仅适用于SQL Server数据库

Entity Framework可以说是MS中第一个真正的ORM,它可以处理所有SQL complient数据库。如果有人知道Linq2SQL,学习曲线就会非常小。Microsoft建议,对于未来所有与数据访问相关的解决方案,实体框架应该是理想的选择


希望这有帮助。

实体框架和Linq to SQL都是基于ADO.NET构建的ORM;两者都不能完全取代或取代ADO.NET。是的,谢谢。还有一个问题:实体框架出现在.NET4中?是的,3.5SP1-但在EF4中,他们修复并改进了很多在3.5SP1中很麻烦的东西(实体的自动多元化、外键字段等)。我还没有迁移,所以我不能详细地告诉你。这不是非常准确。L2和EF都是ORM。EF在更新版本中有更多的功能。在你看来,如果我不知道LINQ2SQL(但知道LINQ到对象),我应该学习LINQ2SQL还是直接跳到EF?我建议直接跳到EF。我没有学习LINQ2SQL。首先,你可以访问我的博客,我在一个名为Entity Framework 4 learning series的系列中写了几篇文章。希望这有帮助