2
如果我是寫如下...LINQ to SQL中獲取記錄有最大的日期值
var latest = _records.OrderByDescending(x => x.Date).First();
這是訂購一套完整的?或者Linq很聰明,知道你只是在尋找最大值?有沒有更有效的方式來編寫上述內容?
如果我是寫如下...LINQ to SQL中獲取記錄有最大的日期值
var latest = _records.OrderByDescending(x => x.Date).First();
這是訂購一套完整的?或者Linq很聰明,知道你只是在尋找最大值?有沒有更有效的方式來編寫上述內容?
是,LINQ to SQL的是足夠聰明,做在數據庫方面的工作。您的代碼段會導致像SELECT TOP (1) ... ORDER BY ...
這樣的SQL。
(這是假設在你的代碼片段_records
表示System.Data.Linq.Table<T>
什麼IQueryable
等)
至於寫查詢的最佳方式,你可能會考慮FirstOrDefault()
,如果有可能你的表不會包含任何記錄,在這種情況下First()
將引發異常。
爲什麼不打開sql分析器,創建一個新的跟蹤並跟蹤sql命令。您將能夠看到正在調用的sql語句或語句。我自己不知道答案,所以這是我會採取的方法。 – Andrew 2011-01-14 12:40:26