Создать DbSet динамически в Entity Framework?
в LINQ to SQL я могу создать репозиторий динамически, используя DataContext.GetTable<T>
. Есть ли аналогичный способ сделать это в Entity Framework 4, кроме объявления свойств на конкретном DbContext
? Например:
public MyDbContext: DbContext
{
public DbSet<MySet> MySets {get; set;}
}
Я хотел бы знать, как я могу создать/получить ссылку на MySets
динамически, как я могу с LINQ to SQL, как в:
var mySet = MyDbContext.GetTable<MySet>();
2 ответов
использование:
DbSet<MyEntity> set = context.Set<MyEntity>();
или, если вы не можете использовать универсальный способ:
DbSet set = context.Set(
typeof( MyEntity )
);
Не беспокойтесь о второй загрузке и дублировании POCO. Наборы кэшируются внутри контекста.