2017-08-30 3 views
0

Ich habe eine externe DLL mit meinen Klassen und ich möchte die Abfrage je nach Typ machen. Ich erkläre es besser.Entity Framework Kern generische Abfrage

ich den Typen mit der Funktion GetType:

Type targetType = Type.GetType("...");

Wenn es irgendeine Art und Weise ist ein ausgewählter, so zu machen:

_context.Set<targetType>().ToList() 

dass _context Unter der Annahme, meine DbContext ist.

Dank

+0

Ich bin mir ziemlich sicher, dass wie Anweisung ist, was Sie wollen _context.Set (typeof (targetType)). ToList() –

Antwort

1

der Tat gibt es:

var method = typeof(DbContext).GetMethod("Set").MakeGenericMethod(targetType); 
var query = method.Invoke(ctx, null) as IQueryable; 
var list = query.OfType<object>().ToList(); 
0

Nun habe ich so etwas.
Hier ist ein Beispiel

Public class repository: dbcontext 
{ 
public IDbset<car> Cras {get; set;} 

Public IQueryable<T> Get<T>() 
{ 
return this.gettype().getproberties().find(x=>. x.propertytype== typeof(T)). Getvalue(this) as IQueryable<T>; 
} 
} 

das Sie begonnen Hop bekommen. Schreiben von Moble :)

Verwandte Themen