如果我们想将一个模型(类)映射到一个特定的表(在数据库中),可以使用 [table] 属性来完成,但它仅限于一个数据库。 如果我们有 4 个类和 2 个数据库怎么办?我想将 class1 映射到 table1(DB1) ,class2 映射到 table2(DB1) ,class3 映射到 table3(DB2) ,然后再次将 class4 映射到 table4(DB2) 。由于我们正在处理两个数据库,我们是否必须创建不同的数据上下文或者是否有不同的方法?
最佳答案
我不明白如何为每个数据库使用一个上下文(以及为什么要绕过),因为使用两个数据库也需要两个连接字符串。
您提到表属性,您是否使用代码优先(问题标记为数据库优先)?在数据库优先方法中,您只需使用向导创建附加上下文,在代码优先方法中,您将使用类似这样的内容(以及配置中的 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; }
}
关于mysql - 是否可以将 ASP.NET MVC 应用程序映射到多个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21588864/