我有当运行在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