Asp.net core EF核心数据库优先和EF核心代码优先方法之间的区别是什么?

Asp.net core EF核心数据库优先和EF核心代码优先方法之间的区别是什么?,asp.net-core,ef-code-first,entity-framework-core,ef-database-first,Asp.net Core,Ef Code First,Entity Framework Core,Ef Database First,我在想。。。既然EF Core中没有EDMX,那么这两个版本之间的区别是什么?如果主要的区别是更改数据库表的可能性,为什么不先使用代码,然后再使用EF代码优先迁移?数据库优先 DB首先是对现有数据库进行反向工程,以创建实体框架模型。我们不是手动设计EDMX并生成SQL脚本来创建数据库,而是先构建后者,然后使用实体框架设计器工具生成前者 先编码 代码首先使用迁移从定义的数据模型创建数据库 然而,只要我们正在处理一个相当小的项目——例如,一个微服务——和/或我们的目标是一个灵活、可变的小规模数据结构

我在想。。。既然EF Core中没有EDMX,那么这两个版本之间的区别是什么?如果主要的区别是更改数据库表的可能性,为什么不先使用代码,然后再使用EF代码优先迁移?

数据库优先

DB首先是对现有数据库进行反向工程,以创建实体框架模型。我们不是手动设计EDMX并生成SQL脚本来创建数据库,而是先构建后者,然后使用实体框架设计器工具生成前者

先编码

代码首先使用迁移从定义的数据模型创建数据库


然而,只要我们正在处理一个相当小的项目——例如,一个微服务——和/或我们的目标是一个灵活、可变的小规模数据结构,采用代码优先的方法几乎总是一个不错的选择。

EF Core的可能副本不支持EDMX(也称EF6模型优先)。EF6和EF Core的代码优先和数据库优先是相同的概念。