Нельзя включить отфильтрованную дочернюю коллекцию выбранного родителя. Вы можете включить только полную коллекцию или вообще не содержать дочернюю коллекцию. Но в качестве обходного пути вы можете использовать промежуточный анонимный тип, например:
var q = (from uo in _unitOccupierContext.GetUnitOccupierQuery()
select new {
Parent = uo,
Childs = uo.UnitOccupierDetails
.Where(uod => uod.MyDetailsProp == MyDetailsValue)
}).FirstOrDefault();
if (q != null)
{
UnitOccupier selectedUnitOccupier = q.Parent;
selectedUnitOccupier.UnitOccupierDetails = q.Childs.ToList();
// selectedUnitOccupier now only contains the filtered childs
}
Редактировать
Если вы хотите запросить детей и указать их родителей (связанных с вопросом в комментарии), вы можете использовать:
var q = _unitOccupierContext.GetUnitOccupierQuery()
.SelectMany(uo => uo.UnitOccupierDetails
.Where(uod => uod.MyDetailsProp == MyDetailsValue))
.Include(uod => uod.UnitOccupier)
.FirstOrDefault(); // or .ToList() if you expect more than one record
// q is now null or a single UnitOccupierDetails entity
// with a reference to its parent
Я предполагаю, что ваш класс UnitOccupierDetails
имеет свойство навигации к родителю UnitOccupier
.