У меня есть несколько коллекций объектов данных, к которым нельзя получить прямой доступ друг от друга. Я полагаю, что лучшим решением было бы заставить парней из базы данных сделать запрос для этого, но в то же время есть ли способ затянуть это?
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);
}