Hat das Entity Framework ein Äquivalent von DataContext.GetTableTEntity von Linq2Sql (ObjectContext.CreateQueryT?)

8

Ich suche nach einem Äquivalent von DataContext.GetTable<TEntity> in Entity Framework. Ich habe die ObjectContext.CreateQuery<T> -Methode gefunden, aber sie unterscheidet sich von DataContext.GetTable<TEntity> , da sie eine Querystring benötigt, um zu funktionieren.

Gibt es eine Möglichkeit, ein IQueryable-Objekt für eine Tabelle mit dem Entitätstyp ohne Angabe der Querystring zu erhalten?

*EDIT: Added code snippet*
Dies ist ein Ausschnitt einer Repository-Klasse, die ich implementiert habe und die mit linq2sql funktioniert. Ich kann ObjectContext.[TableName] nicht verwenden, weil es nicht mehr generisch wäre.

%Vor%

*EDIT: Added my solution (so far..)*
Das ist was ich benutze:

%Vor%

Dies funktioniert, solange der Klassenname dem Tabellennamen entspricht. Dies wird ein Problem für mich, wenn ich anfangen werde, verschiedene Objekte für die gleiche Tabelle zu verwenden.

Ich hoffe, ich war klar, danke im voraus,
Marco:)

    
marcob 27.07.2009, 19:40
quelle

3 Antworten

6

Tatsächlich verwendet der EF-Designer selbst CreateQuery mit fest codierten Strings für die statischen Referenzen. Wenn Sie in die Designer-Datei schauen, sehen Sie etwa Folgendes:

%Vor%

Technisch gibt es keine perfekte Lösung, da Sie denselben Entitätstyp für verschiedene Entitätsgruppen verwenden können. Aber Sie können es den alten College-Versuch geben:

%Vor%     
Aaronaught 23.01.2010, 04:42
quelle
1
%Vor%     
MarkWalls 18.09.2013 23:27
quelle
0

Ich hoffe, ich verpasse nicht den Punkt, aber wäre es nicht:

%Vor%

Dabei ist TableName das EntitySet des Typs, mit dem Sie arbeiten möchten.

    
TGnat 27.07.2009 20:01
quelle

Tags und Links