Мне казалось, что следующее должно быть возможно. Я просто не уверен, какой подход принять.
То, что я хотел бы сделать, это использовать метод 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, но мое предпочтение будет заключаться в том, чтобы строить деревья выражений на лету.
как всегда, благодарен за любые советы или рекомендации