微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linq-> SQL命令降序不起作用

如何解决linq-> SQL命令降序不起作用

|
var Customer = (from c in DNAContextsql.Customers
                                where c.LastName != \"\"
                                orderby c.PKID_Customer descending
                                select new
                                {
                                    c.PKID_Customer,c.OrganizationName,c.FirstName,c.LastName,c.Phone,c.Extension
                                }).distinct().ToList();
我知道这是基本的。我找不到任何不正常的理由。发送到sql Profiler的查询似乎没有
order by
子句。 有任何想法吗? 我可以让它与ѭ2一起工作,但想知道这种疯狂背后的原因。     

解决方法

        通过尝试在distinct()之后调用orderBy,distinct可能会弄乱订单。
var Customer = (from c in DNAContextSQL.Customers
                where c.LastName != \"\"
                select new
                   {
                      c.PKID_Customer,c.OrganizationName,c.FirstName,c.LastName,c.Phone,c.Extension
                    }
                ).Distinct().OrderByDescending(c=>c.PKID_Customer).ToList();
发生这种情况的原因是,您首先选择了一组由PKID_Customer排序的行(并且在您调用distinct()方法之前它们一直是有序的),然后,Distinct()方法将它们重新排列为新的不同的无序记录集。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。