我遇到一个奇怪的问题,EF Core 2.0不能识别我的迁移。
在控制台中运行Add-Migration
命令后,会在Migrations
文件夹内创建名为MyFirstMigration
的类。
上下文:
Protected Overrides Sub OnConfiguring(optionsBuilder As DbContextOptionsBuilder )
optionsBuilder.UseSqlite("Data Source=blogging.db")
End Sub
项目经理代码:
PM> Add-Migration MyFirstMigration
To undo this action, use Remove-Migration.
PM> Update-Database
No migrations were applied. The database is already up to date.
Done.
当我检查数据库文件时,__EFMigrationsHistory表存在,但Blog表不存在。正如您所猜测的那样,运行db.SaveChanges()会抛出异常并告诉我该表不存在。
运行db.Database.Migrate()没有任何作用,但当我删除db文件并运行db.Database.EnsureCreated()时,正确的数据库被创建了。
我必须指出,__EFMigrationsHistory表是空的,因此我可以在Update-Database之后立即创建下一个迁移,并且它将生成与第一个迁移完全相同的代码。
我正在使用VS 15.3.5和WPF上的.Net 4.6.1。
/ 最好的问候
OnConfiguring
之后调用context.Database.Migrate
呢?我有一个动态的租户配置,并且我想在租户信息可用时生成数据库。也在 这里 发布了。 - Shimmy Weitzhandler