为什么这样做?
var x = from p in db.People let oCount = p.Orders.Count select p;
而不是这个?
var x = from p in db.People let oCount = Count(p) select p;
private int Count(DataContext.Order o)
{
return o.Count;
}
答案 0 :(得分:4)
LINQ to SQL“理解”p.Orders.Count
,但它无法查看您的方法以找出它的含义 - 就LINQ to SQL而言,它可能正在做任何事情。
在您的第一个查询中,p.Orders.Count
全部以expression tree表示,可以在执行时以编程方式进行检查。