Linq查询“order by”无效,我已按照您网站和其他网站上的所有建议进行操作.任何援助将不胜感激.
[WebGet] public IQueryable<vw_providercharge_providers> GetChargeProviders(int submitted) { var results = (from p in this.CurrentDataSource.vw_providercharge_providers where p.submitted == submitted orderby p.fullname select p); return results; }
感谢您的输入!
是的,这是WCF数据服务的WebGet方法.如果我没有返回IQueryable类型,我会收到400错误,所以我稍微修改了你的建议.不幸的是,它似乎仍然无视任何订单.
[WebGet] public IQueryable<vw_providercharge_providers> GetChargeProviders(int submitted) { var results = (from p in this.CurrentDataSource.vw_providercharge_providers where p.submitted == submitted orderby p.fullname select p).ToArray(); results.OrderBy(p => p.patientname); return results; }
解决方法
我注意到你返回了一个IQueryable< T> – 在枚举之前,您是否在结果上调用任何LINQ方法?
Not all LINQ methods preserve order.最常见的是,在您进行排序后调用Distinct()会破坏订单.