如何null检查此linq查询?

时间:2012-09-15 12:33:13

标签: .net linq

我有几个linq查询导致nulls问题。我很确定这是一个简单的答案,但我想不出它是什么。

    var IDs = _user.IsNotNull()
        ? _user.BookmarkedStores.Select(s => s.StoreId)
        : null;

    var stores = IDs.IsNotNull()
        ? StoreBL.FindActiveById(IDs).OrderBy(s => s.Name).ToList()
        : null;

IQueryable.OrderBy抛出null异常,因为StoreBL.FindActiveById为null。 null返回有效,因为商店可能在ID列表中但不活动。

所以我需要以某种方式在它们之间进行空检查。

任何人都建议在查询本身内是否以及如何完成?

1 个答案:

答案 0 :(得分:0)

我找到了合适的答案。

FindActiveById()现在返回Enumerable.Empty()。AsQueryable()而不是null。