实体框架 - 代码优先方法


实体框架提供了三种创建实体模型的方法,每种方法都有自己的优缺点。

  • 代码优先
  • 数据库优先
  • 模型第一

在本章中,我们将简要描述代码优先方法。一些开发人员更喜欢在代码中使用设计器,而另一些开发人员则宁愿只使用他们的代码。对于这些开发人员来说,实体框架有一个称为“代码优先”的建模工作流程。

  • Code First 建模工作流针对不存在的数据库,Code First 将创建它。

  • 如果您有一个空数据库,那么也可以使用它,然后 Code First 将向其中添加新表。

  • Code First 允许您使用 C# 或 VB.Net 类定义模型。

  • 可以选择使用类和属性上的属性或使用 Fluent API 来执行其他配置。

代码优先方法

为什么先编码?

  • Code First 实际上是由一组拼图组成的。首先是您的域类。

  • 域类与实体框架无关。它们只是您业务领域的项目。

  • 那么,实体框架有一个上下文来管理这些类和数据库之间的交互。

  • 上下文并非特定于 Code First。这是一个实体框架功能。

  • Code First 添加了一个模型构建器,用于检查上下文正在管理的类,然后使用一组规则或约定来确定这些类和关系如何描述模型,以及该模型应如何映射到数据库。

  • 所有这些都发生在运行时。你永远不会看到这个模型,它只是在记忆中。

  • 如果您愿意,Code First 还可以使用该模型创建数据库。

  • 如果模型发生变化,它还可以使用称为 Code First Migrations 的功能来更新数据库。

环境设置

要开始使用 EF Code First 方法,您需要在系统上安装以下工具。

  • Visual Studio 2013 (.net Framework 4.5.2) 或更高版本。
  • MS SQL Server 2012 或更高版本。
  • 通过 NuGet 包的实体框架。

通过 NuGet 包安装 EF

步骤 1 - 首先,从文件 → 新建 → 项目创建控制台应用程序...

步骤 2 - 从左窗格中选择 Windows,从模板窗格中选择控制台应用程序。

安装EF

步骤 3 - 输入 EFCodeFirstDemo 作为名称,然后选择“确定”。

步骤 4 - 在解决方案资源管理器中右键单击您的项目,然后选择管理 NuGet 包...

NuGet 包管理器

这将打开 NuGet 包管理器,并搜索 EntityFramework。这将搜索与实体框架相关的所有包。

步骤 5 - 选择 EntityFramework 并单击安装。或者从“工具”菜单中单击“NuGet 包管理器”,然后单击“包管理器控制台”。在包管理器控制台窗口中,输入以下命令:Install-Package EntityFramework。

安装的实体框架6

安装完成后,您将在输出窗口中看到以下消息“已成功将 'EntityFramework 6.1.2' 安装到 EFCodeFirstDemo”。

安装后,EntityFramework.dll将包含在您的项目中,如下图所示。

实体框架.dll

现在您已准备好开始使用 Code First 方法。