自动迁移不起作用 [EF 核心]



我试图在我的项目中自动迁移,所以添加了 2 行

_context.Database.Migrate();
_context.Database.EnsureCreated;

但是我在数据库中看不到任何更新。为什么?

自动迁移已从 EF Core 中删除。EF Core 2.0 中不存在此功能。没有计划将此功能添加到 EF。Microsoft认为它的好处小于它的缺点。

EF Core 2.0 中有 2 种与迁移相关的方法。Database.Migrate()Database.EnsureCreated().它们都不是完整的迁移。

Migrate()不会添加或创建迁移。它仅检查是否存在任何未应用的迁移。如果是,则基于它们更新数据库。

EnsureCreated()基于项目中的模型创建数据库。但它不会以迁移方式执行此操作。实际上,此方法不需要迁移。这种方法的缺点是它创建的数据库,将来不能通过任何迁移进行更新。实际上,此方法已添加到 EF 中,以帮助人们以 MVP 风格快速创建项目。

结论:首先添加迁移,然后更新数据库(Database.Migrate(((

最新更新