2
下面是我在我的ASP MVC 3控制器中使用的Linq查詢,嘗試按狀態代碼按字母順序排列結果。這99%的時間工作得很好,但我發現,是無序的,像這樣.OrderBy在Linq查詢並不總是正確排序
爲此,我們在索引中列出每個銀行幾列,我需要從一個輔助表拉BankListAgentId
並顯示我們與該特定銀行合作的所有代理商。大多數情況下,代理商都是按照州代碼進行適當排序的,但有時候他們會像上面的屏幕截圖一樣無序排列。
foreach (var bank in banklist)
{
bank.BankListAgentId = (from a in db.BankListAgentId
where a.BankID == bank.ID
select a).OrderBy(x => x.StateCode, StringComparer.CurrentCultureIgnoreCase).ToList();
}
編輯
我試圖分離出操作成單獨的線,像這樣的,但得到了同樣的結果(99%正常有序,1%未)
foreach (var bank in banklist)
{
var agent = (from a in db.BankListAgentId
where a.BankID == bank.ID
select a).ToList();
agent = agent.OrderBy(x => x.StateCode).ToList();
bank.BankListAgentId = agent.ToList();
}
那麼上面的截圖是bank.BankListAgentId還是bank? – ysrb 2013-05-02 21:52:54
可以肯定的是,我會使用db查詢,然後執行'OrderBy'並返回List。 – SimpleVar 2013-05-02 21:52:57
@ysrb:它是'bank.BankListAgentID'。我在帖子中添加了更好的描述。 thx – NealR 2013-05-02 22:00:19