C# LINQ 以 NULL 优先对日期 DESC 进行排序的最有效方法

C# LINQ Most Efficient Way to Sort Dates DESC with NULL First

我有一个包含可为空的日期时间字段的数据集。我想对该字段进行降序排序,但首先使用 NULL 值。

此代码有效,returns 正是我想要的:

var groupedResult = fullResults.OrderBy(c => c.ClientName).ThenBy(t => t.ContactName).ThenByDescending(d => d.EndDate ?? DateTime.MaxValue);

我是 LINQ 的新手,所以我想知道是否有更有效或更可取的方法来实现同样的结果。

简而言之,可能不会。 LINQ 会将所有顺序子句放在一起,并 运行 它们尽可能高效地为您服务。由引擎决定如何有效地执行此操作 (SQL/In-Memory/etc.)。