EF 基础(第七章: 开发方法)
用 Entity Framework 的开发方法
在使用 Entity Framework 开发应用程序时,有三种不同的开发方法:
1. Database-First
2. Code-First
3. Model-First
Database-First 方法:
在 database-first 开发方法中,你为现有的数据库生成上下文和实体是通过 Visual Studio 中集成的 EDM 向导或者执行 EF 命令。
EF 6 广泛地支持 database-first 方法。
EF Core 对这种方法的支持有限。
Code-First 方法:
当你的应用程序没有现有的数据库是,可以使用这种方法。在 code-first 方法中,你首先开始写你的实体(域类)和上下文类,然后使用迁移(migration)命令从这些类创建数据库。
遵循域驱动设计(Domain-Driven Design (DDD))的开发者们更喜欢从写域类代码开始设计工作,然后生成所需的数据库来持久化数据。
Model-First 方法:
在 model-first 方法中,你直接在 Visual Studio 继承的可视化设计器中创建实体,关系,和继承层级,然后从可视化模型中生成实体,上下文类,和数据库脚本
EF 6 对这种方法的支持有限。
EF Core 不支持这种方法。
为你的应用程序选择开发方法:
在使用 Entity Framework 开发应用程序时,利用线面的流程图来确定合适的方法:
正如上图所示,如果你已经有了一个带有域类的应用程序,那么你可以使用 code-first 方法,因为你可以从现有的类创建数据库。如果你有一个现成的数据库,那么你可以使用 database-first 方法从这个数据创建实体数据模型(EDM)。吐过你没有现成的数据库,也没有域类,并且你更喜欢在可视化设计器中设计你的数据库模型,那么你可以选择 model-first 方法。