У меня есть общий шаблон репозитория, и я пытаюсь загрузить коллекцию агентств на основе FkApplicationId
, и если она IsEnabled == true
Моя модель выглядит примерно так:
Я думал, что это будет легко, но я не могу создать предложение where
для фильтрации результатов.Я не вижу свойств AppAgencies
для записи условия, это насколько я могу получить:
public IEnumerable<Agency> GetAllEnabledAgencies(int applicationId)
{
return _agencyRepository.GetMany(m => m.AppAgencies.//No Entity Properties are here);
}
Из базы моего хранилища, которая вызывается сверху:
public virtual IEnumerable<T> GetMany(Expression<Func<T, bool>> where)
{
return _dbSet.Where(where).ToList();
}
Благодаря RPM1984, Решение:
Агентства используются несколькими приложениями, и им требуется возможность включать / отключать каждое из них для каждого приложения.Поэтому я использовал таблицу AppAgency, чтобы связать это требование.потому что я не хочу добавлять новый столбец к сущности Agency
каждый раз, когда появляется новое приложение.
public IEnumerable<Agency> GetAllEnabledAgencies(int applicationId)
{
return _agencyRepository.GetMany(x => x.AppAgencies.Any(y => y.IsEnabled && y.FkApplicationId == applicationId));
}