Organizational Research By

Surprising Reserch Topic

entity framework and multiple schemas

entity framework and multiple schemas  using -'c#,oracle,entity-framework,ef-code-first'

I'm trying to set up my dbContext so that it can handle multiple schemas in a single Oracle database. I didn't want one monolithic dbContext file so I've come up with the following:

public class oraDbContext : DbContext
    static oraDbContext() {

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

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

    protected override void OnModelCreating(DbModelBuilder modelBuilder) {

The schema file looks like this:

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

However, when I try to perform a query I get the error: Value cannot be null. The value it's referring to is the someTable property in _schema1.

A. How can I fix this?

B. Is there a better solution?

Edit: What I want here is the ability to write code such as the following -

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

Where someTable is the same in both schemas. In our database we have several schemas with the exact same tables that have identical or nearly identical columns. I don't want to create a seperate dbContext for each schema because that could potentially mean 5 different connections if I'm creating a query that pulls from 5 schemas. If I was writing this same query in straight SQL I could pull the data from 5 different schemas with a single connection and that's what I would like to accomplish here.

asked Sep 9, 2015 by ValeriaSells
0 votes

Related Hot Questions

2 Answers

0 votes
answered Sep 9, 2015 by NewtonMKZrj
0 votes
answered Sep 9, 2015 by GerHPTA