2010-02-26 76 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