贾斯汀的观点很好,这是另一个——
为什么要在数据库级别这样做?
像这样的东西会起作用
var table;
if(mode == "PRODUCTION"){
db = new Database1("Connection string for Database1");
table = db.table1;
}
else{
db = new Database1("Connection string for Database2");
table = db.table1
}
var result = table.Where(a=>a.Value==1).First();
如果您没有完全相同的 db,那么您将需要执行类似的操作(您还可以向 db1 和 db2 添加一个接口以返回 commonElements - 如您所愿。
class commonElements {
/// some code
}
public commoneElements GetCommon(Database1 inDB1) {
/// some code
}
public commoneElements GetCommon(Database2 inDB2) {
/// some code
}
commonElements common;
if(mode == "PRODUCTION"){
db1 = new Database1("Connection string for Database1");
common = GetCommon(db1);
}
else{
db2 = new Database2("Connection string for Database2");
common = GetCommon(db2);
}
var result = common.Where(a=>a.Value==1).First();