在使用Entity Framework实现Bounded上下文时,我无法处理一件事:
让实体(甚至是他们的属性)分布在多个上下文中,我觉得有必要将整个模型集中在一个特定的区域,负责管理迁移。
我是否在正确的轨道上? 我错过了一个重要的实施难题吗?
答案 0 :(得分:1)
你是对的,我使用了多个DbContext
在我的项目中,我按照以下格式定义了每个mudule DbContext
:
public class Module1Context : DbContext
{
public Moduled1Context()
: base("MyDatabase") //<=== I passed this ConnectionString parameter
// to all modules
{
}
...
}
public class Moduled2Context : DbContext
{
public Moduled2Context()
: base("MyDatabase")
{
}
...
}
然后定义了一个主DbContext
,其中包含来自所有模块DbSets
的所有DbContext
,并用它来管理Migrations
:
public class AllModulesContext : DbContext
{
public AllModulesContext()
: base("MyDatabase")
{
}
//dbSets from all modules
...
}