У меня есть два запроса, которые возвращают коллекцию объектов одного типа, после выполнения этих двух запросов я хочу их объединить.
var results = from t in All()
where t.Blah.Contains(blahblah)
select t;
var results2 = from t in All()
where t.blah2.contains(blahblah)
select t;
return results.Union(results2);
Возможно , что второй запрос не вернет результатов и будет пустым
.
Похоже, что если я попытаюсь выполнить объединение с двумя, если второй аргумент будет равен нулю, он вызовет исключение ArgumentNullException
.
Очевидным ответом будет просто выполнить .ToList ()
по второму запросу, чтобы узнать, содержит ли он что-нибудь. Проблема в том, что я пытаюсь воспользоваться отложенным выполнением и не хочу фактически выполнять запрос к базе данных на этом этапе.
Есть ли способ обойти это?
Править - Решение
var results2 = from t in All()
where t.blah2!=null && t.blah2.Contains(blahblah)
select t;
По сути, фактический запрос возвращал значение null, так как я пытался добавить в пустой список
Спасибо за помощь!