C# 实体框架核心:模型创建vs迁移,正确的开发工作流
你能给我解释一下以下两者的区别吗C# 实体框架核心:模型创建vs迁移,正确的开发工作流,c#,asp.net-core,entity-framework-core,C#,Asp.net Core,Entity Framework Core,你能给我解释一下以下两者的区别吗 使用EF-Core属性装饰一个类,例如DataAnnotationsVS,使用OnModelCreating中的代码定义关系和映射 使用dotnet ef migrations创建迁移类添加“xyz”,而不是在ModelCreating上将其配置到 我正试图制定一种“开发工作流程”,但文档并不是很清楚 我发现我应该: 创建第一个“数据库上下文” 创建一组表示我的模型的类 重写建模创建上的以指定每个模型对象的映射策略 执行addmigrations和efupd
- 使用EF-Core属性装饰一个类,例如DataAnnotationsVS,使用OnModelCreating中的代码定义关系和映射
- 使用dotnet ef migrations创建迁移类添加“xyz”,而不是在ModelCreating上将其配置到李>
addmigrations
和efupdate
的次数与我更改内容的次数相同OnModelCreating
使您能够使用“Fluent API”,它更强大、更灵活,但是/并且在某种程度上将持久性逻辑与实体分离。有时,您同时使用数据注释和Fluent API
使用dotnet ef迁移创建迁移类添加“xyz”VS
将其配置为OnModelCreating
我不太明白。我看不到迁移的替代方案
我使用EF(代码优先)的方式是:
当您必须告诉EF实体如何映射到数据库时,必须进行建模创建。您不应该混淆这两件事。
dotnet migrations add MigrationName
以及何时要将迁移应用到数据库dotnet ef database update
@J.Doe这一点很清楚,但是使用ef Core的正确工作流程是什么,以及何时应该使用onmodel创建而不是迁移类?实际上,这就是我的答案需要更好地理解它是如何工作的,因为在我使用每个模型一个类进行映射之前,现在它全部用于onmodel创建。问题是,在您第一次运行代码时,它将创建db表,而无需迁移。