我有几个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列表中但不活动。
所以我需要以某种方式在它们之间进行空检查。
任何人都建议在查询本身内是否以及如何完成?
答案 0 :(得分:0)
我找到了合适的答案。
FindActiveById()现在返回Enumerable.Empty()。AsQueryable()而不是null。