【问题标题】:Confused with Ado .net, Entity Framework,LINQ对 Ado .net、Entity Framework、LINQ 感到困惑
【发布时间】:2025-12-10 15:05:02
【问题描述】:
我知道 ASP .Net 和 ADO .NET 但我真的对这个实体框架和 LINQ 感到困惑。
我们可以在没有 ADO .NET 的情况下使用实体框架与 Db 进行交互吗?这三个(ADO、实体框架、LINQ)是否可以相互替代?
请指导
【问题讨论】:
标签:
linq
entity-framework-4
ado.net
【解决方案1】:
这是我最好的解释(经过数小时的困惑!):
ADO.NET = .NET 框架的一部分,使您能够轻松访问 Microsoft SQL Server 等数据和数据服务
LINQ(语言集成查询)= 使您能够从 .NET 编程语言中查询数据
LINQ 已集成到 .NET 框架的各个领域,包括:
- LINQ to Objects
- LINQ to XML
- LINQ to ADO.NET
LINQ to ADO.NET = 使您能够使用 LINQ 查询 ADO.NET 中的任何可枚举对象
有 3 种 LINQ to ADO.NET 技术:
-
LINQ to DataSet = 使您能够针对 DataSet(代表数据库的内存版本的类)编写查询
-
LINQ to SQL = 使您能够在 .NET 项目中编写面向 SQL 数据库的 OO 查询。它将 LINQ 查询转换为 SQL 语句。由于与实体框架 (EF) 的功能有很大重叠,Microsoft 不再不再支持。
-
LINQ to Entities = 几乎您可以在 LINQ to SQL 中执行的任何操作都可以在 LINQ to Entities 中执行。使开发人员能够使用 VB 或 C# 针对 Entity Framework(EF) 概念模型编写查询。
EF 是一种对象关系映射器 (ORM),它支持面向数据的软件应用程序的开发。使用 EF,您可以获取一堆数据库对象(如表)并将它们转换为您可以在代码中访问的 .NET 对象。然后,您可以在查询中使用这些对象或使用它们
直接在数据绑定场景中。 EF 还允许您执行相反的操作:首先设计一个对象模型,然后让 EF 为您创建必要的数据库结构。
来源:Beginning ASP.NET 4.5.1,Microsoft Documentation