Я чувствовал, что следующее должно быть возможным. Я просто не знаю, какой подход выбрать.
Что я хотел бы сделать, так это использовать метод include для формирования моих результатов, то есть определить, как далеко нужно пройти по графу объекта. но ... я бы хотел, чтобы этот обход был условным.
something like...
dealerships
.include( d => d.parts.where(p => p.price < 100.00))
.include( d => d.parts.suppliers.where(s => s.country == "brazil"));
Я понимаю, что это неверный linq, на самом деле, что это ужасно неправильно, но по сути я ищу способ построить дерево выражений, которое будет возвращать результаты в форме, эквивалентные ...
select *
from dealerships as d
outer join parts as p on d.dealerid = p.dealerid
and p.price < 100.00
outer join suppliers as s on p.partid = s.partid
and s.country = 'brazil'
с упором на условия присоединения.
Мне кажется, с esql это будет довольно просто, но я предпочитаю строить деревья выражений на лету.
как всегда, благодарен за любой совет или руководство