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