实体框架 - 代码优先方法



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

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

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

  • 代码优先建模工作流以一个不存在的数据库为目标,并且代码优先将创建它。

  • 如果数据库为空,它也可以使用,然后代码优先将向其中添加新表。

  • 代码优先允许您使用 C# 或 VB.Net 类定义您的模型。

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

Code First Approach

为什么要使用代码优先?

  • 代码优先实际上是由一组拼图块组成的。首先是您的域类。

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

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

  • 上下文不特定于代码优先。它是实体框架的一个功能。

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

  • 所有这些都在运行时发生。您将永远看不到此模型,它仅存在于内存中。

  • 如果需要,代码优先还可以使用该模型创建数据库。

  • 如果模型发生更改,它还可以使用称为代码优先迁移的功能更新数据库。

环境设置

要开始使用 EF 代码优先方法,您需要在系统上安装以下工具。

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

通过 NuGet 包安装 EF

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

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

Installing EF

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

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

NuGet Package Manager

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

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

Installed Entity Framework6

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

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

Entity Framework dll

现在,您可以开始使用代码优先方法了。

广告