2010-02-26 114 views
10

誰能告訴我爲什麼我此代碼智能感知得到:LINQ語句沒有where子句時爲什麼沒有intellisense?

var testDocuments = (from u in db.TestDocuments 
        orderby u.WhenCreated descending 
        select u). 

但我此代碼獲得智能:

var testDocuments = (from u in db.TestDocuments 
        orderby u.WhenCreated descending 
        where 1==1 
        select u). 
+0

您使用的ReSharper的或代碼拉什? –

+0

我看到一樣,只有VS Express。 – Kobi

+0

我也在使用ReSharper(4.5,VS2008) - 這對我來說是不可重現的。在這兩種情況下,我都會懂得...... – tanascius

回答

2

當我碰上這樣的問題我改變了我的編碼風格:

var testDocuments = (from u in db.TestDocuments 
        orderby u.WhenCreated descending 
        select u). 

翻譯成

var testDocuments = db.TestDocuments.OrderBy(u => u.WhenCreated). 

假設Linq對象是有效的,它會拉起intellisense。

+2

你在說什麼:爲什麼只爲'OrderBy'寫一個查詢表達式?好點,我想。 – Kobi

2

我是在類似的情況,然後我添加了以下行..

using System.Linq; 
+0

這是NUMBER 1解決方案,總是檢查LINQ是否涉及。 – Max