我想訂購我的列表卡,但推零到最後。我在這裏閱讀了一些關於這方面的迴應並嘗試瞭解決方案,但似乎並不奏效。訂購與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