У меня есть фрагмент кода, который я не знаю, как его улучшить.
У меня есть две сущности: EntityP и EntityC.
EntityP является родителем EntityC. Это отношения 1 ко многим.
EntityP имеет свойство, зависящее от свойства всех подключенных EntityC.
Мне нужно загрузить список EntityP с правильно установленным свойством. Поэтому я написал фрагмент кода, чтобы сначала получить список EntityP. Он называется entityP_List. Затем, как я писал ниже, я перебираю entityP_List и для каждого из них запрашиваю базу данных с помощью функции «any», которая в конечном итоге будет преобразована в SQL-запрос «NOT EXIST». Причина, по которой я это использую, заключается в том, что я не хочу загружать все подключенные entityC из базы данных в память, потому что мне нужно только значение агрегации их свойства. Но проблема здесь в том, что цикл будет запрашивать данные много раз для каждого EntityP!
Поэтому мне интересно, может ли кто-нибудь помочь мне улучшить код для запроса базы данных только один раз, чтобы получить весь набор EntityP.IsAll_C_Complete, без загрузки EntityC в память.
foreach(EntityP p in entityP_List)
{
isAnyNotComoplete = entities.entityC.Any(c => c.IsComplete==false && c.parent.ID == p.ID);
p.IsAll_C_Complete = !isAnyNotComoplete;
}
Большое спасибо!