0

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

    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 引发空异常,因为 StoreBL.FindActiveById 为空。空返回是有效的,因为商店可能在 ID 列表中但未激活。

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

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

4

1 回答 1

0

我找到了一个合适的答案。

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

于 2012-09-15T12:47:01.503 回答