我已将 Windows 窗体应用程序从 .net 3.5 转换为 .net 4。我正在使用 Linq 处理数据。现在我对 Linq 有一些问题,因为在新版本中,它在尝试对空结果集进行查询时会引发异常。例如(resultSet 的类型为 System.Linq.IQueryable<>):
var orderedResult = from d in resultSet
orderby d.ID descending
select d;
当 resultSet 为空时,抛出异常“值不能为空”。它在 .NET 3.5 中运行良好。如何在 .NET 4 中避免此错误,使代码更改最少?是否有任何设置我可以切换,以便当 resultSet 值为 null 时,不进行任何查询,而不会引发异常?
问题是我有成千上万的陈述,如上面的陈述。如果我必须用“if resultsSet != null”检查它们中的每一个,这将是一个困难的解决方案。在 .NET 3.5 版中,对空结果集的查询只是返回空值。我可以为 .NET 4 做同样的事情吗?