Erstellen Sie ein DBSet dynamisch im Entitäts -Framework?
-
24-10-2019 - |
Frage
In LINQ zu SQL kann ich ein Repository dynamisch verwenden DataContext.GetTable<T>
. Gibt es eine ähnliche Möglichkeit, dies in Entity Framework 4 zu tun, außer die Eigenschaften auf dem spezifischen zu deklarieren DbContext
? Zum Beispiel:
public MyDbContext: DbContext
{
public DbSet<MySet> MySets {get; set;}
}
Ich würde gerne wissen, wie ich einen Verweis erstellen/beziehen kann MySets
dynamisch wie möglich mit linq zu SQL wie in:
var mySet = MyDbContext.GetTable<MySet>();
Lösung
DbContext
hat Methode dafür:
var set = context.Set<MyEntity>();
Andere Tipps
Verwenden:
DbSet<MyEntity> set = context.Set<MyEntity>();
Oder wenn Sie die generische Methode nicht verwenden können:
DbSet set = context.Set(
typeof( MyEntity )
);
Mach dir keine Sorgen, dass ein POCO zweitladend und dupliziert. Sets werden im Kontext intern zwischenstrahlt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow