首页 > 解决方案 > EF Core 3 如何构建 MigrationsHistory 数据库

问题描述

我与 ef 陷入了一个奇怪的僵局,无论我做什么,它都坚持实施一个错误的迁移,在 sql 中设置 Time to time (for a TimeSpan)。

我已经删除了数据库和迁移文件夹并重新部署了无数次,并按照每个人的版本来修复不需要的迁移。如果我在没有数据库和迁移文件夹的情况下进行脚本迁移(因此没有上下文模型快照等),则 sql 脚本想要添加这个

ALTER TABLE [TimeCards] ADD [Time] time NOT NULL DEFAULT '00:00:00';
GO
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20200615144922_Time_Property', N'3.1.3');

所以我的问题是,当没有迁移文件夹时,它到底是如何构建迁移表/脚本的。

标签: c#entity-frameworkentity-framework-migrationsef-core-3.0

解决方案


当您删除 Migrations 文件夹时,您是否也删除了模型快照文件?( MyDbContext Snapshot.cs) 通过将当前模型与此快照中的模型进行比较来生成迁移。


推荐阅读