确定执行EF迁移时是否存在表

本文关键字:是否 存在 迁移 执行 EF | 更新日期: 2023-09-27 18:20:55

我最近从.edmx切换到了Code First,并试图实现迁移。在DbMigration的Up()函数中调用CreateTable之前,是否可以确定表是否存在?我有一个初始迁移集来创建表,但现有数据库不应应用此初始迁移。

我使用的是EF 6.1和.Net 4.6

确定执行EF迁移时是否存在表

如果您的数据库等于初始迁移,请执行以下命令:

Update-Database -Script -IgnoreChanges -SourceMigration: $InitialDatabase

之后,对于每个新的迁移执行:

Update-Database -Script -SourceMigration: $InitialDatabase

此命令将检查每次迁移是否已应用于数据库,如果已应用,则不会再次应用。因此,无论数据库处于哪种状态,生成的迁移脚本都能工作。