1
例子給出了這樣的LINQ查詢的結果是什麼類型?在LINQ
var query = context.Contacts
.Where(q => q.FirstName == "Tom");
我想知道什麼目的在於「查詢」?還有可能(建議)將它傳遞給一個方法(在同一個類中)?
例子給出了這樣的LINQ查詢的結果是什麼類型?在LINQ
var query = context.Contacts
.Where(q => q.FirstName == "Tom");
我想知道什麼目的在於「查詢」?還有可能(建議)將它傳遞給一個方法(在同一個類中)?
query
對象最有可能是IQueryable<Contact>
類型。當然,你可以將它傳遞給一個方法,無論這個方法是在同一個類中還是在另一個類中都沒有關係。
但請記住,LINQ確實使用名爲「延遲執行」的機制。這意味着查詢不會立即枚舉,而是在需要時進行枚舉。你在查詢中輸入的所有東西(例如Where
-clause)都會被執行。有關延遲執行的更多信息,請參見MSDN: Query Execution。
注意:如果將鼠標懸停在其上或在Visual Studio中關鍵字var
,可以找到query
變量的確切類型。