C# 按两个Sql列中的较大者排序

C# 按两个Sql列中的较大者排序,c#,sql-server,linq,sql-order-by,iqueryable,C#,Sql Server,Linq,Sql Order By,Iqueryable,我有一个包含两列的SqlTable,DateInsert(不可为null)和DateUpdate(可为null) 有什么方法可以用c#linq按两列的最新日期时间订购吗 我正在尝试使用LINQ在C#IQueryable中执行此操作,因此将查询保存到内存列表中,稍后再重新排序不是一个选项,我需要sqlserver能够理解并一步完成查询的内容 我尝试使用query.OrderBy(x=>x.DateUpdate)。然后使用query.OrderBy(x=>x.DateInsert),但效果不好 预期

我有一个包含两列的SqlTable,DateInsert(不可为null)和DateUpdate(可为null)

有什么方法可以用c#linq按两列的最新日期时间订购吗

我正在尝试使用LINQ在C#IQueryable中执行此操作,因此将查询保存到内存列表中,稍后再重新排序不是一个选项,我需要sqlserver能够理解并一步完成查询的内容

我尝试使用query.OrderBy(x=>x.DateUpdate)。然后使用query.OrderBy(x=>x.DateInsert),但效果不好

预期结果如下例所示:

Item1: Insert: 2020-01-01 Update: null
Item2: Insert: 2019-01-01 Update: 2020-03-01
Item3: Insert: 2019-01-01 Update: 2019-05-01

Ordered Result: Item2->Item1->Item3

谢谢你的帮助

通过以下方式获得最大值和顺序:

query.OrderBy(x=>x.DateUpdate>x.DateInsert?x.DateUpdate:x.DateInsert);