dotnet ef core - 重新创建时InitialCreate缺少scafolding

时间:2018-03-15 08:29:00

标签: database postgresql entity-framework .net-core

使用.net core 2.0并在我们的数据访问项目中设置迁移。我们运行了:

Add-Migration InitalCreate -context mycontext -project mydaproject 

使用表定义设置初始创建文件。然后,我删除了文件,删除了项目中的迁移,以使用更新的初始定义重新创建它。但是,当我运行相同的命令时,InitialCreate迁移文件由up& down方法是空的,没有定义。

重新创建它需要做些什么?

布朗,梅森

1 个答案:

答案 0 :(得分:0)

在EF6中,当前数据库状态保存在__MigrationsHistory表中。在EF Core中,您拥有表__EFMigrationsHistory,其中包含已应用的迁移名称和EFCore版本。数据库状态或当前模型快照将保存在<yourDbContext>ModelSnapshot.cs目录中的Migrations文件中,而不是将其保存在数据库中。 这对于与同一模型基础上的团队合作是一个优势,可以同时扩展。

要解决您的问题,您还必须删除迁移文件旁边的模型快照文件。您可以删除整个Migrations目录。但是您必须删除已创建的数据库,否则由于已有的列,您将在执行Update-Database时遇到异常。

有关更多信息,请参阅以下内容:The Model Snapshot In Entity Framework Core