#c# #asp.net-mvc #entity-framework-core
#c# #asp.net-mvc #сущность-структура-ядро
Вопрос:
public class Parent { public int ParentId { get; set; } public IEnumerablelt;Childgt; Children { get; set; } } public class Child { public int ChildId { get; set; } public bool Property { get; set; } public Parent Parent { get; set; } }
Как бы вы хотели загрузить родительский класс с его дочерним классом, но фильтровать на основе поля дочернего класса? Например, как бы я выбрал Parent
записи на основе того, были ли Child.Property
true
они ? Но я также хотел бы загрузить всех детей Родителя, независимо от того, было ли установлено значение свойства их собственности true
.
Моя попытка:
_context.Parents.Include(x =gt; x.Children.Where(x =gt; x.Property == true)).ToListAsync();
Это, по-видимому, загружает каждую родительскую запись, но загружает всех детей (независимо от того, установлено ли для их свойства свойство true) родителей, у которых есть ребенок со свойством свойства, установленным в значение true.
Ответ №1:
Как насчёт:
_context.Parents .Include(x =gt; x.Children) .Where(x =gt; x.Children.Any(c =gt; c.Property)) .ToListAsync()
Комментарии:
1. Статус мастера; подтвержден. спасибо br0