EF6使用倍数DbContext - (实体类型EntityName不是当前上下文模型的一部分)

时间:2013-09-14 01:28:56

标签: entity-framework ef-code-first

我有一个应用程序,我们有一些模块。我们有例如FinancialModule和EmployeeModule。

我有一个Core项目,我创建了一个名为DefaultDbContext的抽象类,它继承自DbContext,我有一个名为ModelCreating的抽象方法,所有ConcreteClass(EFFinacialContext和EFEmployeeContext)都应该实现它来添加映射类。

我的问题是,我有一个带有这些模块的应用程序并收到此消息“实体类型EntityName不是当前上下文模型的一部分。”

我让每个模块在另一个应用程序中运行,一切都很好,所以,一起运行时出错了。

使用具有倍数db上下文的应用程序时遇到同样的问题?

由于

1 个答案:

答案 0 :(得分:1)

继承你的问题

public class Context1 : DbContext
{
    public IDbSet<Entity1> E1{get;set;}
}

public class Context2 : DbContext
{
    public IDbSet<Entity2> E2{get;set;}
}

public class Entity1
{
    //some stuff
}

public class Entity2
{
    //some stuff
    public Entity1 E1 {get;set;} //you arent allowed this as its not in your current dbcontext
}