Объединение LINQ с необязательным вторым параметром null

У меня есть два запроса, которые возвращают коллекцию объектов одного типа, после выполнения этих двух запросов я хочу их объединить.

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, так как я пытался добавить в пустой список

Спасибо за помощь!

5
задан qui 28 February 2011 в 16:20
поделиться