Создание общих DbSets на основе типов сущностей
В коде EF сначала используя следующий код, я мог бы создать неуниверсальный DbSets
на основе каждого типа объекта:
foreach (var entry in _dbContext.ChangeTracker.Entries<BaseEntity>())
{
BaseEntity entity = entry.Entity;
Type type = entity.GetType();
var set = _dbContext.Set(type);
}
Есть ли способ создать их как Generic? DbSet
s?
1 ответ
Не легко. Вы могли бы назвать правильную общую перегрузку Set<>
используя отражение, если вам действительно нужно, чтобы получить общий DbSet
, Кроме того, для вызова универсальных методов необходимо знать правильные параметры универсального типа во время компиляции. Отражение в сторону, каждый раз, когда вы используете Type
объекты во время выполнения вы теряете возможность использовать универсальные типы.