下面是我在 ASP MVC 3 控制器中使用的一个 Linq 查询,它尝试按状态代码按字母顺序排列结果。99% 的时间这工作得很好,但我发现了几个像这样无序的列表
对于我们在索引中列出的每家银行,我需要从辅助表中提取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();
}