2013-04-12 101 views
0

我有一个数据库映射EF 5.0.0实体框架,动态请求实体

我在一些列表中显示数据。我的数据是在“经典方法”检索:

using (myContext db = new myContext()) 
{ 

    var products = db.products.Select(p => p).ToList(); 
} 

我必须尽可能多的做,因为我的表有,

有没有什么办法让这个动态? :

using (myContext db = new myContext()) 
{ 
    type currentType = myTable1Type 
    var currentList = db.currentType.Select(p => p).ToList(); 
} 

回答

0

看看在Context.Set()方法组。

0

此方法适用于我:

IDbSet GetDbSet(Type currentType, Context db) 
{ 
    dynamic instance = Activator.CreateInstance(currentType); 
    return GetDbSetFromInstance(instance, db); 
} 

IDbSet GetDbSetFromInstance<T>(T instance, Context db) 
    where T : class 
{ 
    var set = db.Set<T>(); 
    if (set == null) 
    { 
     throw new Exception(); 
    } 
    return set; 
}