EF:当它们不为空时,按2个字段排序

Ole*_* Sh 1 c# sql entity-framework entity-framework-6

我有一个带有字段的实体:

public partial class Load 
{
    public DateTime CreatedOn { get; set; }
    public DateTime? UpdatedOn { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我必须通过以下方式订购记录(DESC):如果UpdatedOn具有值,则"查看"此值,否则请查看CreatedOn值.怎么做?

小智 5

??运算符称为null-coalescing运算符.如果操作数不为null,则返回左侧操作数; 否则它返回右手操作数 看这里

 items.OrderBy(x => x.UpdatedOn ?? x.CreatedOn);
Run Code Online (Sandbox Code Playgroud)

要么

 items.OrderByDescending(x => x.UpdatedOn ?? x.CreatedOn);
Run Code Online (Sandbox Code Playgroud)