我想订购我的列表卡,但推零到最后。我在这里阅读了一些关于这方面的回应并尝试了解决方案,但似乎并不奏效。订购与linq和整数零结尾
请在下面看到我的LINQ查询。 (ToPackCards只是一个扩展映射到我的自定义对象)
List<PackCard> packCards = db
.PackCardEntities
.OrderBy(pc => pc.PackNumber)
.ThenBy(pc => pc.PickPosition == 0)
.ThenBy(pc => pc.PickPosition)
.ToList()
.ToPackCards();
我的数据是这样的
ID | PackNumber | PickPosition | CardId中
1|1|null|100
2|1|null|120
3|1|1|134
4|1|2|232
5|1|null|456
我想这是排序像这
3|1|1|134
4|1|2|232
1|1|null|100
2|1|null|120
5|1|null|456
我得到的是这种
1|1|null|100
2|1|null|120
5|1|null|456
3|1|1|134
4|1|2|232
让我知道如果我搞砸了这个了不起,谢谢!
如果'PickPosition'是可空类型,尝试'pc.PickPosition!= null' – Matthew 2012-03-06 14:41:37
复制?请参阅自定义比较器上的此线程:http://stackoverflow.com/q/985657/353147 – 2012-03-06 14:41:58
@Chuck链接问题中的情况要复杂得多,我知道解决方案不应该需要自定义比较器 – Wil 2012-03-06 15:44:02