Создание общих 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? DbSets?

1 ответ

Не легко. Вы могли бы назвать правильную общую перегрузку Set<> используя отражение, если вам действительно нужно, чтобы получить общий DbSet, Кроме того, для вызова универсальных методов необходимо знать правильные параметры универсального типа во время компиляции. Отражение в сторону, каждый раз, когда вы используете Type объекты во время выполнения вы теряете возможность использовать универсальные типы.

Другие вопросы по тегам