实体框架 – 代码优先方法
实体框架 – 代码优先方法
实体框架提供了三种创建实体模型的方法,每种方法都有自己的优缺点。
- 代码优先
- 数据库优先
- 模特第一
在本章中,我们将简要描述代码优先的方法。一些开发人员更喜欢在代码中使用设计器,而另一些开发人员则更喜欢使用他们的代码。对于这些开发人员,Entity Framework 有一个称为 Code First 的建模工作流。
-
Code First 建模工作流针对不存在的数据库,Code First 将创建它。
-
如果您有一个空数据库,那么它也可以使用,然后 Code First 也会添加新表。
-
Code First 允许您使用 C# 或 VB.Net 类定义模型。
-
可以选择使用类和属性上的特性或使用流畅的 API 来执行其他配置。
为什么代码优先?
-
Code First 实际上是由一组拼图组成的。首先是您的域类。
-
域类与实体框架无关。它们只是您业务领域的项目。
-
然后,实体框架有一个上下文来管理这些类和数据库之间的交互。
-
上下文并非特定于 Code First。这是一个实体框架功能。
-
Code First 添加了一个模型构建器,用于检查上下文管理的类,然后使用一组规则或约定来确定这些类和关系如何描述模型,以及该模型应如何映射到您的数据库。
-
所有这些都发生在运行时。你永远不会看到这个模型,它只是在记忆中。
-
如果需要,Code First 可以使用该模型创建数据库。
-
如果模型发生变化,它还可以使用称为 Code First Migrations 的功能更新数据库。