Inspiriert von der MVC Storefront ist das neueste Projekt, an dem ich arbeite, die Verwendung von Erweiterungsmethoden auf IQueryable, um Ergebnisse zu filtern.
Ich habe diese Schnittstelle;
IPrimaryKey
{
int ID { get; }
}
und ich habe diese Erweiterungsmethode
public static IPrimaryKey GetByID(this IQueryable<IPrimaryKey> source, int id)
{
return source(obj => obj.ID == id);
}
Angenommen, ich habe eine Klasse, SimpleObj, die IPrimaryKey implementiert. Wenn ich eine IQueryable von SimpleObj habe, existiert die GetByID-Methode nicht, es sei denn, ich habe explizit als IQueryable von IPrimaryKey gecastet, was nicht gerade ideal ist.
Übersehe ich hier etwas?