2010-02-26 27 views
10

bất cứ ai có thể cho tôi biết tại sao tôi không nhận được IntelliSense với mã này:Tại sao không có intellisense khi LINQ tuyên bố không có mệnh đề where?

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

nhưng tôi làm nhận được IntelliSense với mã này:

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

Bạn đang sử dụng Resharper hoặc Mã Rush? –

+0

Tôi thấy giống nhau, không có gì ngoài VS Express. – Kobi

+0

Tôi đang sử dụng ReSharper (4.5, VS2008) - quá - điều này không thể tái sản xuất đối với tôi. Tôi nhận được sự intellisence trong cả hai trường hợp ... – tanascius

Trả lời

2

Khi tôi chạy vào loại vấn đề tôi chuyển đổi phong cách mã hóa của tôi một chút:

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

Dịch sang

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

Và giả định đối tượng LINQ là hợp lệ, nó sẽ kéo nội dung intellisense.

+2

Điều bạn đang nói là: tại sao viết biểu thức truy vấn chỉ cho 'OrderBy'? Tốt, tôi đoán vậy. – Kobi

2

tôi ở trong tình huống tương tự, sau đó tôi thêm vào dòng sau ..

using System.Linq; 
+0

Đây là giải pháp SỐ 1, luôn luôn kiểm tra khi LINQ tham gia. – Max

Các vấn đề liên quan