2014-01-13 2 views
0

Я хочу строку изменения в обмен EntityType использования включателя заявления случая, чтобы найти типконвертировать строку EntityType entityframwork

что-то вроде:

private void methodName(string entityTypeName) 
{ 
    Type myEFType = Type.GetType(entityTypeName); 
    //object d = Activator.CreateInstance(type); //this create instance from my entityType very Well 
    var myEFTypeCollection = _db.Set<(here need cast) myEFType>(); 
} 

Я думаю, что надо utulize Convert.ChangeType() но как?

ответ

0

Вы можете использовать MakeGeneric() Метод

System.Reflection.MethodInfo mi = typeof(API).GetMethod("DoSomething", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); 
mi.MakeGenericMethod(typeof(Type.GetType(entityTypeName))).Invoke(new API(),new object[]{_db}); 



class API 
{   

    private void DoSomething<T>(DbContext db) 
    { 
     IQueryable<T> items = db.Set<T>(); 
     // Do something you need ..... 

    } 
} 
Смежные вопросы