嗨,我有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)关联。
提前致谢。
您实现这些类不是Contexts那些Entities。EF中的上下文应继承自ObjectContext或DbContext,就您而言,我认为您在2个不同的数据库中有2个单独的实体。您可以这样做以指向多个数据库
Contexts
Entities
// 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); }
希望对您有所帮助。