首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF6外键冲突

EF6外键冲突
EN

Stack Overflow用户
提问于 2016-09-09 08:18:13
回答 1查看 51关注 0票数 1

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

代码语言:javascript
复制
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文件的内容:

代码语言:javascript
复制
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和上下文对创建它。但是在创建了DivorceCases表之后,我尝试创建和使用CorporationCases模型实例,然后EF6无法自动为我创建该表,因为

“事务”表已经由DivorceCases上下文创建

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 08:23:15

您不需要创建2 dbContext here.just,使用一个,如下所示。

重要注意事项:您没有遵循基本的命名约定,我强烈建议使用这些命名规则。

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

需要更正为public DbSet<DivorceCase> DivorceCases { get; set; }

使用一个DbContext :

代码语言:javascript
复制
public class DivorceCases
{
    public string case_id { get; set; }
    public virtual Transactions t { get; set; }
}

public class CorporationCases
{
    public string case_id { get; set; }
    public virtual Transactions t { get; set; }
}

public class YourCasesContext : DbContext
{
    public YourCasesContext () : base("mssqlDB") { }

    public DbSet<DivorceCases> DivorceCase { get; set; }
    public DbSet<CorporationCases> CorporationCase { get; set; }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39406942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档