Entity Framework et plusieurs schémas

Je suis en train de configurer mon dbContext de sorte qu'il peut traiter plusieurs schémas dans une seule base de données Oracle. Je n'en voulais pas un monolithique dbContext fichier alors je suis venu avec les éléments suivants:

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);
    }
}

Le schéma de fichier ressemble à ceci:

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());
    }
}

Cependant, lorsque j'essaie d'exécuter une requête, j'obtiens l'erreur: Value cannot be null. La valeur de référence est la someTable propriété dans _schema1.

A. Comment puis-je résoudre ce problème?

B. Est-il une meilleure solution?

Edit: Ce que je veux ici, c'est la capacité à écrire du code comme le suivant -

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

Où someTable est le même dans les deux schémas. Dans notre base de données nous avons plusieurs schémas, avec les mêmes tables qui sont identiques ou quasi identiques colonnes. Je ne veux pas créer une salle de dbContext pour chaque schéma parce que cela pourrait signifier 5 différentes connexions si je crée une requête qui tire à partir de 5 schémas. Si j'ai écrit ce même requête dans droit en SQL j'ai pu en tirer les données à partir de 5 différents schémas avec une connexion unique et c'est ce que je voudrais faire ici.

OriginalL'auteur Kittoes0124 | 2013-02-15