2013-04-12 49 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; 
}