我有一个实体框架的 6.0 数据库第一个上下文的列表,名称不同。它们都包含一个名为“bill”的表。我需要检查每个数据库的账单表,并根据条件将信息添加到一个新数据库中。例子 :
Company1_Entities
Company2_Entities
Company3_Entities
这 3 个数据库包含账单表。我需要将这些账单有条件地存储到:
All_Bills_Entities
随着公司数量的增长,我需要让这个动态。我在想这样的事情:
Dictionary<string, DbContext> lstDB = new Dictionary<string, DbContext>();
// I'm supposed to retrieve these db names from a table, but now i'm just testing
lstDB.Add("00439837", new DbContext("Company1_Entities"));
lstDB.Add("00439832", new DbContext("Company2_Entities"));
lstDB.Add("00439839", new DbContext("Company3_Entities"));
using (All_Bills_Entities main_db = new All_Bills_Entities())
{
foreach(var dataBaseInfo in lstDB)
{
DbContext currentDB = dataBaseInfo.Value;
foreach (var record in currentDB.bill.ToList()) // this does not compile, there is no bill table found here
{
if(record.merchant == dataBaseInfo.Key /* && other Conditions */)
{
main_db.bill.Add(record)
}
}
}
}
相关分类