我有當運行在PM的Add-Migration
命令我的遷移不是由EF核2.0實體框架的核心2.0找不到遷移
公認的一個奇怪的問題,是在Migrations
文件夾內創建的MyFirstMigration
類。
語境:
Protected Overrides Sub OnConfiguring(optionsBuilder As DbContextOptionsBuilder)
optionsBuilder.UseSqlite("Data Source=blogging.db")
End Sub
PM代碼:
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.
當我檢查dababase文件,__EFMigrationsHistory表存在,但不是博客表。 正如您可能懷疑的那樣,運行db.SaveChanges()會引發異常並告訴我該表不存在。
運行db.Database.Migrate()什麼都不做,但是當我刪除數據庫文件並運行db.Database.EnsureCreated(),創建正確的數據庫。
我必須指出__EFMigrationsHistory表被創建爲空,所以我可以在Update-Database創建下一個遷移後立即生成,它將生成與第一個遷移完全相同的代碼。
我在WPF上使用VS 15.3.5和.Net 4.6.1。
/最好的問候
這是多麼奇怪的事情。 我也可以看到它添加了Microsoft.CSharp引用,這可能是VS不會抱怨cs文件的原因。 基本上,這會讓VB和F#(相信它們有相同的問題)沒有真正的ORM,因爲我很難相信EF6更容易使用。這種情況在文檔中應該確實是「有限的支持」。 – Dimka
參見問題[#6401](https://github.com/aspnet/EntityFrameworkCore/issues/6401)和[#8012](https://github.com/aspnet/EntityFrameworkCore/issues/8012)。 – bricelam