2012-05-20 19 views
6

Paylaşılan veritabanı ve paylaşılan şema yaklaşımıyla çok kiracı bir uygulama yapıyorum. Yani yaklaşıma göre masamın her birinde "Tenant_Id" sütunum var. Bu nedenle, her sorguda otomatik olarak bir yan tümce eklemek için herhangi bir yol var ...Çok Kiracı Uygulama ve Varlık Çerçevesi

+0

Merhaba, yardımcı olabilir burada çok benzer bir soru var: http://stackoverflow.com/questions/9587814/entity-framework-for-multi-tenant-architecture-filterings-single-table -by-tena –

cevap

5

Bunu, DbContext çevrenizdeki bir sarmalayıcıyı kullanarak gerçekleştirebilir ve her bir varlık kümesini bir where cümlesiyle geçersiz kılabilirsiniz.

public class WrapperContext : YourDBContext 
{ 

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

Bazıları almanın en iyi yolu nedir? Benim durumumda, bir kullanıcının birden fazla hesaba/kiracıya erişimi olabilir, bu da WHERE maddesinin filtrelenmesi gerektiğini gösterir. Kullanıcı, uygulamada oturum açtığında ve bu listeyi bir oturum değişkenine kaydettiğinde yetkili hesapların listesini almayı planlıyordum. MVC4, Entity Framework 5.0, SQL Server 2012. – HackITMngr