实体框架

17 Mar 2025 | 4 分钟阅读
Entity Framework Tutorial

Entity Framework 教程提供 Entity Framework 的基本和高级概念。 我们的 Entity Framework 教程专为初学者和专业人士设计。

什么是 Entity Framework?

Entity Framework 是由 Microsoft 支持的 .NET 应用程序的开源 ORM(对象关系映射)框架。 它使开发人员可以使用特定于域的类的对象来处理数据,而无需关注存储数据的数据库表和列。 使用 Entity Framework,开发人员在处理数据时可以在更高的抽象级别上工作。 借助 Entity Framework,与传统应用程序相比,我们可以使用更少的代码来创建和维护面向数据的应用程序。

Entity Framework 是一个对象关系映射器,它使 .NET 开发人员可以使用 .NET 对象来处理数据库。 它消除了开发人员需要编写的数据访问代码的需求。

下图显示了 Entity Framework 在应用程序中的位置。

What is Entity Framework

根据上图,Entity Framework 位于业务实体(域类)和数据库之间。 它将数据保存在业务属性实体中,并从数据库中检索数据并自动将其转换为业务实体的对象。

需要 Entity Framework 的原因

Entity Framework 是一个 ORM。 ORM 的目标是通过减少应用程序中使用的冗余任务来提高开发人员的生产力。

  • Entity Framework 可以生成必要的数据库命令来读取或写入数据库中的数据并为我们执行它们。
  • 如果我们要查询,我们可以使用 LINQ to Entities 对我们的对象域表达我们的查询。
  • Entity Framework 将在数据库中执行相关查询,然后将结果具体化为域对象的实例以与应用程序一起使用。

市场上有其他 ORM,例如 NHibernate 和 LLBL Gen Pro。 大多数 ORM 通常将域的类型直接映射到数据库的架构。

What is Entity Framework

Entity Framework 具有更精细的映射层,因此我们可以自定义映射。 例如,通过将单个实体映射到多个数据库表或将多个实体映射到单个表。

What is Entity Framework

Entity Framework 是 Microsoft 推荐的用于新应用程序的数据访问技术。

ADO.Net 似乎直接引用数据集和数据表的技术。

Microsoft 建议我们对所有新开发使用 Entity Framework 而不是 ADO.NET 或 LINQ to SQL。

Entity Framework 功能

Entity Framework Features

跨平台: Entity Framework Core 是一个跨平台框架,可以在 Windows、Linux 和 Mac 上运行。

建模: Entity Framework (EF) 创建一个 EDM(实体数据模型),它基于具有不同数据类型的 get/set 属性的 POCO(普通 CLR 对象)实体。 当我们需要查询并将实体数据保存到基础数据库时,它会使用此模型。

查询: Entity Framework 允许我们使用 LINQ 查询从数据库中检索数据。 数据库提供程序会将这些 LINQ 查询转换为特定于数据库的查询语言(例如,关系数据库的 SQL)。 Entity Framework 还允许我们直接对数据库执行原始 SQL 查询。

变更跟踪: Entity Framework 跟踪已发生的实体实例(属性值)的更改,这些更改需要提交到数据库。

保存: 当我们调用“SaveChanges()”方法时,Entity Framework 会根据实体发生的更改对数据库执行 INSERT、UPDATE 和 DELETE 命令。 Entity Framework 还提供异步“SaveChangesAsync()”方法。

并发: 默认情况下,Entity Framework 使用乐观并发来保护覆盖从数据库中获取数据时由另一个用户所做的更改。

事务: Entity Framework 在查询或保存数据时自动管理事务。 它还提供自定义事务管理的选择。

缓存: Entity Framework 包含开箱即用的第一级缓存。 因此,重复查询将从缓存返回数据,而不是命中数据库。

内置约定: Entity Framework 遵循约定优于配置编程模式,并包含一组默认规则,这些规则会自动配置 Entity Framework 模型。

配置: Entity Framework 允许我们使用数据注释属性或 Fluent API 来配置 Entity Framework 模型,以覆盖默认约定。

迁移: Entity Framework 提供一组迁移命令,可以在 NuGet 包管理器控制台或命令行界面上执行,以创建或管理数据库架构。

前提条件

您应该具备 Visual Studio、C# 和 MS SQL 的基本知识。

目标受众

本教程专为那些想要学习如何在应用程序中开始 Entity Framework 开发的人而设计。

问题

我们向您保证,您不会发现 Entity Framework 教程有任何问题。 但如果有什么错误,请在联系表格中发布问题。


下一个主题实体