linq - 与 Ado .net、 Entity Framework 、LINQ 混淆

标签 linq entity-framework-4 ado.net

我知道 ASP .Net 和 ADO .NET 但我真的对 Entity Framework 和 LINQ 感到困惑。 我们可以使用 Entity Framework 与数据库进行交互,而不需要像ADO .NET那样。这三个(ADO、 Entity Framework 、LINQ)可以互相替代吗?

请指导

最佳答案

这是我最好的解释(经过几个小时的困惑!):

ADO.NET = .NET 框架的一部分,使您能够轻松访问 Microsoft SQL Server 等数据和数据服务

LINQ(语言集成查询)= 使您能够从 .NET 编程语言中查询数据

LINQ 已集成到 .NET 框架的各个领域,包括:

  • LINQ to 对象
  • LINQ to XML
  • LINQ 到 ADO.NET

LINQ to ADO.NET = 使您能够使用 LINQ 查询 ADO.NET 中的任何可枚举对象

有 3 种 LINQ to ADO.NET 技术:

  • LINQ to DataSet = 使您能够针对 DataSet(代表数据库内存版本的类)编写查询
  • LINQ to SQL = 使您能够在面向 SQL 数据库的 .NET 项目中编写 OO 查询。它将 LINQ 查询转换为 SQL 语句。由于与 Entity Framework (EF) 的功能有很大重叠,Microsoft 不再支持
  • LINQ to Entities = 几乎可以在 LINQ to SQL 中执行的任何操作都可以在 LINQ to Entities 中执行。使开发人员能够使用 VB 或 C# 针对 Entity Framework (EF) 概念模型编写查询。

EF 是一个对象关系映射器 (ORM),支持面向数据的软件应用程序的开发。使用 EF,您可以将大量数据库对象(例如表)转换为可以在代码中访问的 .NET 对象。然后您可以在查询中使用这些对象或使用它们 直接在数据绑定(bind)场景中。 EF 还使您能够执行相反的操作:首先设计对象模型,然后让 EF 为您创建必要的数据库结构。

来源:Beginning ASP.NET 4.5.1 , Microsoft Documentation

关于linq - 与 Ado .net、 Entity Framework 、LINQ 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26215430/

相关文章:

c# - 看似简单的 LINQ 查询却让我感到困惑。我想要数组 A 中的所有项目,除非它存在于数组 B 中

c# - 如何在LINQ中使用可为空的内置变量?

entity-framework-4 - 将SQL Server Compact与Entity Framework一起使用的连接字符串吗?

.net - 如何使用 EF CTP5 Fluent API 在一对多关系中关闭级联删除

entity-framework-4 - Entity Framework 4 和 SQL Server App Roles - 如何协同工作?

asp.net-mvc - 如何将关系数据添加到 ASP.net MVC 数据实体创建 View ?

c# - 使用 C# 和 Linq 以 1000 组为一组处理文档的 46,000 行

c# - 泛型方法可以返回我指定的属性吗

vb.net - ADO.NET 数据服务查询拦截器 - 谁能告诉我这个 C# 的 VB 语法?

c# - ADO.NET 中断开连接和连接方法的确切含义是什么