在不同的模式下使用多个DBContext

时间:2019-04-14 12:24:30

标签: c# entity-framework-6

我正在测试是否可以使用具有不同架构的多个DbContext。 我用2种不同的模式创建了一个测试表。 然后,我创建了一个DBContext,它在构造函数中接受架构名称。

我尝试了以下测试代码。 通过这种方式,我从第一个架构中获取数据:

//FIRST SCHEMA
using (testDbContext db1 = new testDbContext("dbo"))
{
       var firstSchemaResult = (from t0 in db1.xxxtest1
                            select t0).ToList();

}

相反,我从第二个模式获取数据:

//SECOND SCHEMA
using (testDbContext db2 = new testDbContext("test"))
{

      var secondSchemaResult = (from t0 in db2.xxxtest1
                            select t0).ToList();
}

奇怪的是,如果我尝试一个接一个地访问两个模式,那么我只是从第一个模式获取数据。 例如:

//FIRST SCHEMA
using (testDbContext db1 = new testDbContext("dbo"))
{
       var firstSchemaResult = (from t0 in db1.xxxtest1
                            select t0).ToList();

}

//SECOND SCHEMA
using (testDbContext db2 = new testDbContext("test"))
{

      var secondSchemaResult = (from t0 in db2.xxxtest1
                            select t0).ToList();
}

通过这种方式,firstSchemaResult和secondSchemaResult都从“ dbo”模式中获取数据。

知道为什么会这样吗?

0 个答案:

没有答案