2010-02-26 11 views
10

Czy ktoś może mi powiedzieć, dlaczego ja nie dostać intellisense z tym kodem:Dlaczego nie intellisense, gdy instrukcja LINQ nie ma klauzuli gdzie?

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

ale zrobić dostać intellisense z tym kodem:

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

Używasz Resharper lub kod Rush? –

+0

Widzę to samo, tylko VS Express. – Kobi

+0

Używam również ReSharper (4.5, VS2008) - nie jest to dla mnie powtarzalne. Dostaję intellisence w obu przypadkach ... – tanascius

Odpowiedz

2

Kiedy napotkasz tego rodzaju problem Zmieniłem nieco styl kodowania:

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

Przekłada się na:

var testDocuments = db.TestDocuments.OrderBy(u => u.WhenCreated). 
I zakładając, że obiekt Linq jest ważny, podniosą one intellisense.

+2

To, co mówisz, to: po co pisać wyrażenie zapytania tylko dla 'OrderBy'? Dobra myśl, chyba. – Kobi

2

byłem w podobnej sytuacji, a następnie I dodaje następujący wiersz ..

using System.Linq; 
+0

To jest rozwiązanie NUMBER 1, zawsze w celu sprawdzenia, kiedy LINQ jest zaangażowany. – Max