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事件探查器的查询中似乎没有order by
子句。
有什么想法吗?
我可以让它与.OrderByDescending(...)
一起工作,但我想知道这种疯狂背后的原因。
distinct在distinct((之后尝试调用orderBy可能会扰乱订单
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(((方法将它们重新排列为一组新的不同的无序记录。