aforank
aforank

Reputation: 129

Multi-Tenant Application and Entity Framework

I am building a multi-tenant application with shared database and shared schema approach. So as per the approach i have "Tenant_Id" column in each of my table. So is there any way to automatically attach a where clause in every query...

Upvotes: 6

Views: 1072

Answers (1)

Jayantha Lal Sirisena
Jayantha Lal Sirisena

Reputation: 21366

You can achieve this using a wrapper around your DbContext, and override each collection of entities with a where clause.

public class WrapperContext : YourDBContext
{

  public override DbSet<YourEntitity> YourEntities
  {
    get
    {
      return base.YourEntities.Where(t => t.Tenant_Id == someId);
    }
    set
    {
       base.YourEntities = value;
    }
  }      
}

Upvotes: 5

Related Questions