使用.net core 2.0并在我们的数据访问项目中设置迁移。我们运行了:
Add-Migration InitalCreate -context mycontext -project mydaproject
使用表定义设置初始创建文件。然后,我删除了文件,删除了项目中的迁移,以使用更新的初始定义重新创建它。但是,当我运行相同的命令时,InitialCreate迁移文件由up& down方法是空的,没有定义。
重新创建它需要做些什么?
布朗,梅森答案 0 :(得分:0)
在EF6中,当前数据库状态保存在__MigrationsHistory
表中。在EF Core中,您拥有表__EFMigrationsHistory
,其中包含已应用的迁移名称和EFCore版本。数据库状态或当前模型快照将保存在<yourDbContext>ModelSnapshot.cs
目录中的Migrations
文件中,而不是将其保存在数据库中。
这对于与同一模型基础上的团队合作是一个优势,可以同时扩展。
要解决您的问题,您还必须删除迁移文件旁边的模型快照文件。您可以删除整个Migrations目录。但是您必须删除已创建的数据库,否则由于已有的列,您将在执行Update-Database
时遇到异常。
有关更多信息,请参阅以下内容:The Model Snapshot In Entity Framework Core