[英]Entity Framework Code First, Navigation Property between different contexts/databases
嗨,我有2个数据上下文在SQL Server数据库上映射不同的架构,但是我需要为每个架构创建1个sdf数据库文件(SQL Compact)并使用相同的数据上下文,并且我有一些相关的实体,如下所示:
//context 1
class A
{
int Id
...
ICollection<B> Bs
}
//context 2
class B
{
int Id
...
}
在服务器上,只需要为此关系指定表就很容易了,但是在客户端上,我将这个实体拆分到了不同的数据库中。
因此,我需要上下文1(database_A.sdf)的1个实体(A)的导航属性,以与上下文2(database_B.sdf)的1个实体(B)关联。
提前致谢。
在回答我自己的问题时,无法做我需要做的事情,因为一个上下文只能链接到一个数据库,一种实现方式是像在SQLite中那样连接数据库,但是使用SQL Compact是不可能的。
您实现的那些类不是Entities
Contexts
。 EF中的上下文应继承自ObjectContext或DbContext,就您而言,我认为您在2个不同的数据库中有2个单独的实体。 您可以这样做以指向多个数据库
// Associate with first entity
public Context1 : ObjectContext
{
prop IDbSet<A> ADbSet{ get; set; }
...
}
// Associate with Second entity
public Context2 : ObjectContext
{
prop IDbSet<B> BDbSet{ get; set; }
...
}
public void ChangeDb(string dbName)
{
Context1 context = new Context1();
context.ChangeDatabase(dbName);
}
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.