Entity Framework - 代码优先方法

实体框架提供了三种创建实体模型的方法,每种方法各有利弊.

  • Code First

  • Database First

  • Model First

在本章中,我们将简要描述代码的第一种方法.一些开发人员更喜欢在Code中使用Designer,而其他开发人员更愿意使用他们的代码.对于那些开发人员,Entity Framework有一个称为Code First的建模工作流程.

  • Code First建模工作流程以数据库为目标不存在,Code First将创建它.

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

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

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

Code First Approach

为什么代码优先?

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

  • 域类与Entity Framework无关.它们只是业务域中的项目.

  • 实体框架具有管理这些类与数据库之间交互的上下文.

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

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

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

  • Code First能够在需要时使用该模型创建数据库.

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