实体框架 - 代码优先方法
实体框架提供了三种方法来创建实体模型,每种方法都有各自的优缺点。
- 代码优先
- 数据库优先
- 模型优先
在本章中,我们将简要介绍代码优先方法。一些开发人员更喜欢使用代码中的设计器,而其他开发人员则更愿意只使用他们的代码。对于那些开发人员来说,Entity Framework 有一个称为 Code First 的建模工作流。
Code First 建模工作流针对不存在的数据库,Code First 将创建它。
如果您有一个空数据库,也可以使用它,然后 Code First 将向其中添加新表。
Code First 允许您使用 C# 或 VB.Net 类定义模型。
可以选择使用类和属性上的属性或使用流畅的 API 执行其他配置。
为什么是 Code First?
Code First 实际上由一组拼图组成。首先是您的域类。
域类与 Entity Framework 无关。它们只是您的业务域的项目。
然后,Entity Framework 有一个上下文来管理这些类和数据库之间的交互。
上下文并非特定于 Code First。它是 Entity Framework 的功能。
Code First 添加了一个模型构建器,用于检查上下文正在管理的类,然后使用一组规则或约定来确定这些类和关系如何描述模型,以及该模型应如何映射到您的数据库。
所有这些都发生在运行时。您永远不会看到这个模型,它只是在内存中。
如果您愿意,Code First 还可以使用该模型创建数据库。
如果模型发生变化,它还可以使用名为 Code First Migrations 的功能更新数据库。
环境设置
要开始使用 EF Code First 方法,您需要在系统上安装以下工具。
- Visual Studio 2013 (.net framework 4.5.2) 或更高版本。
- MS SQL Server 2012 或更高版本。
- 通过 NuGet 包安装 Entity Framework。
通过 NuGet 包安装 EF
步骤 1 − 首先,从文件 → 新建 → 项目…
创建控制台应用程序步骤 2 −从左侧窗格中选择 Windows,从模板窗格中选择控制台应用程序。
步骤 3 − 输入 EFCodeFirstDemo 作为名称,然后选择确定。
步骤 4 − 在解决方案资源管理器中右键单击您的项目,然后选择管理 NuGet 包…
这将打开 NuGet 包管理器,并搜索 EntityFramework。这将搜索与 Entity Framework 相关的所有包。
步骤 5 − 选择 EntityFramework,然后单击安装。或者从工具菜单中单击 NuGet 包管理器,然后单击包管理器控制台。在包管理器控制台窗口中,输入以下命令:Install-Package EntityFramework。
安装完成后,您将在输出窗口中看到以下消息"已成功将'EntityFramework 6.1.2'安装到EFCodeFirstDemo"。
安装后,EntityFramework.dll将包含在您的项目中,如下图所示。
现在您可以开始使用Code First方法了。