C# 如何将此SQL Order By语句转换为LINQ to对象?

C# 如何将此SQL Order By语句转换为LINQ to对象?,c#,sql,linq,linq-to-sql,sql-order-by,C#,Sql,Linq,Linq To Sql,Sql Order By,这是SQL ORDER BY: order by case when [order] is null then 1 else 0 end, [order] 如何在LINQ to Object语句中写入它?方法语法 var query = enumerable.OrderBy(x => x.order == null ? 1 : 0).ThenBy(x => x.order); var query = from x in enumerable orderby

这是SQL ORDER BY:

order by case when [order] is null then 1 else 0 end, [order]

如何在LINQ to Object语句中写入它?

方法语法

var query = enumerable.OrderBy(x => x.order == null ? 1 : 0).ThenBy(x => x.order);
var query = from x in enumerable
            orderby (x.order == null ? 1 : 0), x.order
            select x;
查询语法

var query = enumerable.OrderBy(x => x.order == null ? 1 : 0).ThenBy(x => x.order);
var query = from x in enumerable
            orderby (x.order == null ? 1 : 0), x.order
            select x;

假设order是一个可为空的值(不是对象),您应该能够使用:

orderby null == order ? 1 : 0, order
如果它是一个对象,您可以尝试

orderby null == order ? 1 : 0, order.PropertyName