我正在测试是否可以使用具有不同架构的多个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”模式中获取数据。
知道为什么会这样吗?