【问题标题】:what is the difference between LINQ and ADO.netLINQ 和 ADO.net 有什么区别
【发布时间】:2010-03-19 12:38:13
【问题描述】:

LINQ 和 ADO.net 有什么区别

【问题讨论】:

  • @mxmissible:虽然框架很差,但这个问题几乎不会属于lmgtfy category。 LINQ 及其许多提供程序(LINQ-to-Entities、-to-SQL、to-XML ......)是一个相当广泛和抽象的主题,可能需要大量的谷歌搜索和阅读才能得到这个问题的答案(或者更糟糕的是:没有最低限度背景的人可能会完全混淆 LINQ 是什么,什么不是)。

标签: linq ado.net


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    我认为您可能是指 LINQ-to-SQL。 ADO.NET 是与数据库对话的基础,因此您需要自己设置 DataTables、DataReaders 等。这包括遍历我们的表、设置您的连接、事务等。

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

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

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

    【讨论】:

      【解决方案3】:

      LINQ to SQL 实际上代表 LINQ to '使用 SQL 的数据库',或者换句话说,LINQ 代表关系数据模型。 LINQ to Entities 是指 LINQ for Entity-Data-Model,它是一种关系 ++ 模型。

      更多信息:

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

      【讨论】:

      • 不,Linq to SQL 不适用于“使用 SQL 的数据库”。它仅适用于 SQL Server,不适用于其他数据库。另一方面,实体框架可以与其他 DMBS 一起使用
      【解决方案4】:

      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. 它在编译时具有完整的类型检查,并在 Visual Studio 中支持 IntelliSense,因为它使用 C# 和 VB 等 .NET Framework 语言。

      【讨论】:

        猜你喜欢
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 2011-01-27
        • 2011-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多