Kann IQueryable <Derived> nach IQueryable <Base> konvertiert werden?

Ich kenne die Kovarianz und weiß, dass dies in C # im Allgemeinen erst in Version 4.0 möglich ist.

Ich frage mich jedoch über einen bestimmten Fall. Gibt es eine Möglichkeit, sich zu bekehren?IQueryable<Derived> zuIQueryable<Base> durch das Erstellen einer Wrapper-Klasse, die eigentlich keine Abfrage ausführt, aber tatsächlich eine "Passage" durchführen kann.Where<>() Anruf?

Mein Anwendungsfall ist, dass ich versuche, mit einem Datenbankschema umzugehen, das viele ähnliche Tabellen hat. Die meisten Felder sind gemeinsam, und viele der gemeinsamen Felder müssen in jeder Tabelle abgefragt werden. Ich benutze LinqToSql. Ich hatte gehofft, nicht alle Abfragen für jede Tabelle zu duplizieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage