LINQ和ADO.net有什么区别

时间:2010-03-19 12:38:14

标签: linq ado.net

LINQ和ADO.net之间有什么区别

4 个答案:

答案 0 :(得分:3)

Linq是一种语言功能(语言集成查询),允许查询对象。它通常与Linq to Sql相混淆,后者是一系列扩展方法和其他允许使用Linq语句查询Sql Server数据库的代码。

您可以编写Linq提供程序来查询任何类型的数据源,例如,有一个Linq to Amazon提供程序,允许您从Amazon的公共API检索结果。

ADO.Net是一系列用于检索数据的技术,我建议从这里开始:http://en.wikipedia.org/wiki/ADO.NET

答案 1 :(得分:2)

我认为你可能意味着LINQ-to-SQL。 ADO.NET是与数据库通信的基础,因此您需要自己设置DataTable,DataReaders等。这包括遍历我们的表,设置您的连接,交易等。

LINQ-to-SQL是一种ORM(对象关系映射器),它允许您将数据视为业务对象,而不是DataTable中的数据集合。 LINQ-to-SQL与ADO.NET协同工作。更容易!

LINQ是LINQ-to-SQL用于查询表的表达式语法,例如

ClientSet.Where(q=>q.ID==1).First();

答案 2 :(得分:0)

LINQ to SQL实际上代表LINQ to'使用SQL的数据库',换句话说LINQ代表关系数据模型。 LINQ to Entities意味着实体数据模型的LINQ,它是一种关系++模型。

更多信息:

http://blogs.microsoft.co.il/blogs/gilf/archive/2008/04/20/linq-to-sql-vs-entity-framework.aspx

答案 3 :(得分:0)

ADO.NET

  1. 自.NET Framework 1.0以来,它是.NET Framework的一部分。
  2. SqlConnection / OleDbConnection用于数据库连接。
  3. 难以调试,并且在运行时导致语法错误。
  4. 它在运行时具有完整类型检查,而Visual中没有IntelliSense支持 Studio,因为它使用T-SQL查询数据库。

LINQ

  1. 从.NET Framework 3.5开始,它是.NET Framework的一部分。
  2. 我们可以使用上下文进行数据库连接。
  3. 易于调试,并在编译时导致语法错误。
  4. 由于使用了C#和VB等.NET Framework语言,因此它在编译时具有完整类型检查并在Visual Studio中支持IntelliSense。