emr*_*ins 2 linq-to-entities sql-order-by
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();
Run Code Online (Sandbox Code Playgroud)
我知道这是基本的.我发现它为什么不起作用,我找不到任何好的理由.发送到SQL事件探查器的查询似乎没有order by子句.
有任何想法吗?
我可以得到它,.OrderByDescending(...)但想知道这种疯狂背后的原因.
不同之处可能是通过在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();
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为您首先选择由PKID_Customer排序的一组行(并且在调用distinct()方法之前对它们进行排序),然后Distinct()方法将它们重新排列为新的不同的无序记录集.
| 归档时间: |
|
| 查看次数: |
9078 次 |
| 最近记录: |