EF6外键冲突

时间:2016-09-09 08:18:13

标签: c# asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-6

这是我在模型中的DivorceCases.cs文件的内容:

public class DivorceCases
{
    public string case_id { get; set; }
    public virtual Transactions t { get; set; }
}
public class DivorceCasesContext : DbContext
{
    public DivorceCasesContext() : base("mssqlDB") { }
    public DbSet<DivorceCases> DivorceCase { get; set; }
}

这是我在“模型:

”中的CorporationCases.cs文件的内容
public class CorporationCases
{
    public string case_id { get; set; }
    public virtual Transactions t { get; set; }
}
public class CorporationCasesContext : DbContext
{
    public CorporationCasesContext() : base("mssqlDB") { }
    public DbSet<CorporationCases> CorporationCase { get; set; }
}

现在我的问题是:

我正在使用代码优先方法让EF6自动为我创建表。

当我尝试创建和使用表的任何实例时,EF6也为DivorceCases Model和Context对创建它。但是在创建DivorceCases表之后,我尝试创建并使用CorporationCases模型实例,然后EF6无法自动为我创建表,因为

  

&#34;事务处理&#34;表已由DivorceCases上下文

创建

那么我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无需在此处创建2 dbContext。请使用如下所示的一个。

重要说明:您没有遵循基本的命名约定。强烈建议您使用这些约定。

一个地方在这里:public DbSet<DivorceCases> DivorceCase { get; set; }

需要更正为{​​{1}}

使用一个DbContext:

public DbSet<DivorceCase> DivorceCases { get; set; }