【发布时间】:2017-11-26 23:41:02
【问题描述】:
我有现有的数据库。然后出现了对更多表的新需求,因此我创建了模型并使用代码优先的方法为现有数据库生成表。
但是当我运行命令时
Enable-Migrations -ContextTypeName ListHell.CODE.flagen -force
我收到错误
创建 DbModelBuilder 或从 DbContext 编写 EDMX 不支持使用 Database First 或 Model First 创建的。 EDMX 可以 只能从不使用 现有的 DbCompiledModel。
我已经在 SO 上检查了所有与它相关的答案,但对我的情况都没有用
我的 dbcontext 类
public partial class flagen:DbContext
{
public flagen() : base("name=LH_newEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<flag> flags { get; set; }
}
感谢帮助
【问题讨论】:
-
什么答案?为什么它们没用?如果错误消息是准确的,则没有其他答案可以给出。您是否在同一个项目中混合了 Db-First 和 Code-First 上下文?
-
@PanagiotisKanavos 一个答案说删除 _migrationhistory 并删除迁移文件夹,然后再试一次我没有结果。其他完全一样。
-
该错误与模型优先上下文有关。不是移民史。 是否您有模型优先或数据库优先的上下文?错误是否准确?为什么你的班级部分?
-
@PanagiotisKanavos 我有现有的数据库并首先在问题中使用代码
-
我敢打赌
flagen也是一个 db-first 上下文,因为它有partial关键字
标签: c# .net entity-framework ef-code-first