У меня есть некоторые коллекции объектов данных, к которым напрямую нельзя получить доступ друг от друга. Я предполагаю, что лучшим решением было бы заставить парней базы данных сделать запрос для этого, но тем временем, есть ли способ подтянуть это?Лучший способ сделать этот запрос LINQ?
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);
}
Не могли бы вы прояснить, является ли это LINQ to SQL или LINQ для объектов? Кроме того, есть ли у вас ограничения внешнего ключа для соединений? – TrueWill
linq к объектам, и никаких ограничений, о которых я знаю –
Уточняющий вопрос: «затяните это» может означать много чего. Вы имеете в виду стиль, производительность или что-то еще? –