У меня есть несколько коллекций объектов данных, к которым нет прямого доступа друг к другу. Я полагаю, что лучшим решением было бы заставить ребят из базы данных сделать запрос на это, но в то же время, есть ли способ как-то это уладить?
var conflicting = allFoos.Where(foo => foo.ElectronicSerialNumber != 0
&& foo.BarID != interestingBar.ID)
.Join(fooInfoCollection, foo => foo.ElectronicSerialNumber,
fooInfo => fooInfo.ElectronicID,
(foo, fooInfo) => foo)
.Join(allBars, foo => foo.BarID, bar => bar.ID, (foo, bar) => bar)
.Where(bar => bar.SomeCriteria == false)
.FirstOrDefault();
if (conflicting != null)
{
doStuff(conflicting);
}