Lambda-Ausdruck als argument an eine dynamisch ausgelöst, operation
Stecken mit Fehler:
Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
Für ein einfaches Beispiel, lassen Sie uns versuchen, ein Objekt aus der Datenbank mit entity framework, ohne eigentlich zu wissen, seine Art:
private DbContext db;
private dynamic test(dynamic entity)
{
return db.Set(entity.GetType()).First(x => x.Id == entity.Id);
}
Wie kann ich diese Arbeit machen?
- Sie könnten versuchen, weblogs.asp.net/scottgu/archive/2008/01/07/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Generika verwendet werden, um dies zu tun, anstatt
dynamic
:Haben eine
BaseEntity
hat eineId
- Eigenschaft, um sicherzustellen, dass die angegebene Person hat eine Id.