首页 新闻 会员 周边

先Join后排序问题

0
悬赏园豆:20 [已解决问题] 解决于 2008-10-23 15:48

var q =
    from c in db.Customers
    join o in db.Orders on c.CustomerID
    equals o.CustomerID into orders
 orderby orders.Count() descending
    select new
   
{
        c.ContactName,
        OrderCount = orders.Count()
    };

类似这样的排序,最后变成sql语句以后在select和order里要分别计算Count的值,这样应该是有性能问题的吧,怎样改进一下才能只计算一次呢?

第一控制.NET的主页 第一控制.NET | 小虾三级 | 园豆:1245
提问于:2008-10-22 11:24
< >
分享
最佳答案
0

var q =         from c in Customers
                     let o = c.Orders.Count 
                     orderby o descending
                    
select new
                     {
                         c.ContactName,
                         OrderCount = o
                     }

用let,这样就OK,可以结案了。呵呵

参考:http://www.cnblogs.com/RuiLei/archive/2008/02/26/1082600.html

RicoRui | 老鸟四级 |园豆:3663 | 2008-10-22 13:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册