2013-04-12 3 views
0

У меня есть база данных, сопоставленная с EF 5.0.0Entity Framework, динамический запрашиваемый объект

Я показываю данные в некоторых списках. Мои данные извлекаются в «классическом способе»:

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

Этот метод работает для меня:

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; 
} 
Смежные вопросы