Я работаю с базой данных поставщиков (я не могу вносить никаких изменений в схему), которая разбивает данные на месяц и делает это в течение нескольких лет. Я сопоставил сущности EF с ~ 100 таблицами, и все они в порядке запросов. Для этих 100+ таблиц (в моем коде) есть общий базовый класс, который определяет все свойства.
У меня также есть класс, который определяет дату начала, дату окончания и свойство DataContext DbSet, которое коррелирует с этим периодом времени. Я надеялся, что этот набор будет повторяться и применяться критерии запроса к каждому DbSet, который соответствует периоду времени, и объединять результаты.
У меня проблемы с определением этой сущности. Я использую отражение в сущности DbContext, чтобы извлечь свойство.
var property = _myDbContext.GetType().GetProperty(propertyName).GetValue(_myDbContext);
Тогда у меня есть класс, который определяет периоды и сущность (это не удается - не могу разыграть.
private class MyClass
{
public DbSet<BaseDbSetClass> MyDbSet { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
Ниже также не удается, не может разыграть:
private class MyClass<T> where T : class, IBaseDbSetClass
{
public DbSet<T> MyDbSet { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
Возможно ли это? Или есть лучший способ справиться с ручным разбиением в EF?
Спасибо!