【发布时间】:2017-10-11 03:15:00
【问题描述】:
使用 VS Community 2017。我尝试创建初始迁移并显示错误消息:
Entity Framework Core 和 Entity Framework 6 都已安装。 Entity Framework Core 工具正在运行。对实体框架 6 使用“EntityFramework\Add-Migration”。 在程序集“Test_Project”中找不到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的。
...我的 dbcontext 中的代码:
protected override void OnModelCreating(DbModelBuilder mb)
{
base.OnModelCreating(mb);
mb.Entity<Stuff>().ToTable("Stuff");
}
public DbSet<Stuff> Stuff{ get; set; }
【问题讨论】:
-
您在使用带有 EF Core 的 ASP.NET Core MVC,还使用
dotnet ef migrations add Initial/dotnet ef database update命令而不是 PM 控制台中的Add-Migration/Update-Database?这里有一些遗漏的地方需要说明。 -
好吧,我想你可以先看看这个:docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations。如果您有带有 Core MVC 的 EF 6,请尝试使用 EF Core 并删除 EF 6 引用。
-
“Entity Framework Core 和 Entity Framework 6 都已安装。” - 这是故意的吗?因为我会竭尽全力避免这种情况。
-
好的,我已经卸载了 EF Core,只保留了 EF 6。现在在我运行“启用迁移”和“添加迁移初始”之后一切正常。谢谢大家。
-
当我收到此错误消息时,我使用了 'EntityFramework\Add-Migration' 和 'EntityFramework\Update-Database',但我想 Henk Holterman 说这两个框架不应该同时安装。 ..
标签: c# entity-framework model-view-controller dbcontext entity-framework-migrations