我知道 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 为您创建必要的数据库结构。
关于linq - 与 Ado .net、 Entity Framework 、LINQ 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26215430/