如果我们想要将模型(类)映射到特定表(在数据库中),可以使用[table]属性来完成,但它仅限于一个数据库。 如果我们说4个类和2个数据库怎么办。我想将class1映射到table1(DB1),class2到table2(DB1),class3到table3(DB2)以及class4到table4(DB2)。由于我们正在处理2个数据库,我们是否需要创建不同的数据上下文,还是有不同的方法?
答案 0 :(得分:0)
由于使用两个数据库还需要两个连接字符串,因此我不会看到你如何使用每个数据库一个上下文(为什么你想要绕过)?
你提到了table属性,你是否使用代码优先(问题是用数据库优先标记的)?在数据库优先方法中,您只需使用向导创建一个额外的上下文,在代码中首先使用类似的东西(以及配置中的DB1Connection / DB2Connection连接字符串):
public class DB1Entities: DbContext {
public DB1Entities() : base("DB1Connection") {
}
public DbSet<Table1> Table1 { get; set; }
public DbSet<Table2> Table2 { get; set; }
}
public class DB2Entities: DbContext {
public DB2Entities() : base("DB2Connection") {
}
public DbSet<Table3> Table3 { get; set; }
public DbSet<Table4> Table4 { get; set; }
}