Ich versuche, eine generische Methode mit Prädikat zu implementieren. Ich schrieb einig Code:Abrufen von Elementen durch übereinstimmende Prädikatmethode
public ICollection<T> GetProductsByMatching<T>(Expression<Func<T, bool>> predicate)
{
return context.Products.Where(predicate).Include("ShopPlace, Images").ProjectTo<T>().ToList();
}
und Verwendung dieser Methode:
var a = service.GetProductsByMatching<ProductInfo>(x => x.Name.StartsWith("value")
|| x.Price < 150);
Endlich habe ich Invalid Operation Exception
: Keine generische Methode 'Wo' vom Typ 'System.Linq.Queryable' ist kompatibel mit die übergebenen Argumente und Argumente des Typs.
Was ist falsch an meinem Code? Danke für den Fortschritt!
Weil 'T' ='-Produkt mit. Was soll dieser Code tun? Meinst du context.Set 'statt? –
CodeCaster
@CodeCaster Produkte aus der Datenbank nach Prädikat erhalten und zu ProductInfo (ViewModel Klasse) zuordnen – user3818229
Ja, _that_ Teil ist offensichtlich aus dem Code, aber ich versuche herauszufinden, warum Sie 'Expression>' in der erster Platz. In meiner Antwort habe ich nun einige Annahmen basierend auf dem Methodennamen getroffen. –
CodeCaster