2009-07-22 64 views
1

這是爲什麼這樣工作?linq到sql查詢使用方法

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; 
} 

回答

4

LINQ to SQL的「理解」 p.Orders.Count,但它可以不看你的方法裏面摸出這意味着什麼 - 它可以被儘可能的LINQ to SQL做任何事情有關。

在您的第一個查詢中,p.Orders.Count全部用expression tree表示,可以在執行時以編程方式檢查。

+1

雖然這麼想,但這意味着我會寫一個非常長且令人困惑的外觀查詢。非常感謝。 – 2009-07-22 17:39:27