Entity Framework и несколько схем

Я пытаюсь настроить dbContext так, чтобы он мог обрабатывать несколько схем в одной базе данных Oracle. Я не хотел один монолитный файл dbContext, поэтому я придумал следующее:

public class oraDbContext : DbContext
{
    static oraDbContext() {
        Database.SetInitializer<oraDbContext>(null);
    }

    public oraDbContext(string connName)
        : base("Name=" + connName) { }

    public _schema1 schema1 = _schema1.Instance;
    public _schema2 schema2 = _schema2.Instance;

    protected override void OnModelCreating(DbModelBuilder modelBuilder) {
        schema1.OnModelCreating(modelBuilder);
        schema2.OnModelCreating(modelBuilder);
    }
}

Файл схемы выглядит так:

public sealed class _schema1
{
    private static readonly _schema1 instance = new _schema1();

    static _schema1() { }
    private _schema1() { }

    public static _schema1 Instance {
        get {
            return instance;
        }
    }

    public DbSet<someTable> someTable { get; set; }

    internal void OnModelCreating(DbModelBuilder modelBuilder) {
        modelBuilder.Configurations.Add(new someTableMap());
    }
}

Однако, когда я пытаюсь выполнить запрос, я получаю сообщение об ошибке:Value cannot be null, Значение, на которое он ссылается,someTable собственность в _schema1.

A. Как я могу это исправить?

B. Есть ли лучшее решение?

Редактировать: То, что я хочу здесь, это возможность писать код, такой как следующий -

var query1 = from p in db.schema1.someTable
             select p;
var query2 = from p in db.schema2.someTable
             select p;

Где someTable одинаково в обеих схемах. В нашей базе данных есть несколько схем с точно такими же таблицами, которые имеют идентичные или почти идентичные столбцы. Я не хочу создавать отдельный dbContext для каждой схемы, потому что это может означать 5 разных соединений, если я создаю запрос, который извлекает из 5 схем. Если бы я писал этот же запрос в прямом SQL, я мог бы извлечь данные из 5 различных схем с помощью одного соединения, и это то, чего я хотел бы достичь здесь.

Ответы на вопрос(3)

Ваш ответ на вопрос