2013-01-29 6 views
6

Entity Framework 4.0 mã đầu tiên, C# 4.0. Điều gì là sai cho không phải là null trong mã?Không phải là null trong truy vấn EntityFramework

var query = from c in dbContext.table 
where c.FacilityID == facilityID && c.FilePath is Not null select c; 

EDIT:

Nhiều lỗi sau khi thêm là không null.

Một trong số đó là:

Loại hoặc tên namespace 'Không' không thể tìm được (là bạn thiếu một sử dụng chỉ thị hoặc tham khảo một hội?)

+0

lỗi gì bạn đã nhận được khi bạn chạy nó? –

+0

Vui lòng xem cập nhật của tôi. –

Trả lời

10

Not không phải là một từ khóa trong các truy vấn LINQ, vì vậy bạn sẽ nhận được các lỗi trình biên dịch. Bạn cần sử dụng toán tử bất bình đẳng (!=) để kiểm tra xem FilePath không phải là null hay không.

Đoạn code dưới đây nên làm việc cho bạn

var query = from c in dbContext.table 
where c.FacilityID == facilityID && c.FilePath != null select c; 
+0

Chỉ để làm rõ những gì đã xảy ra ở đây. '! =' là toán tử bất bình đẳng cho C#. Tương tự 'Không phải' là toán tử bất bình đẳng cho Visual Basic.NET. Tôi có thể thấy làm thế nào một người có thể bị lẫn lộn vì phần lớn tài liệu của khung công tác .NET hiển thị cả hai ngôn ngữ. –

+0

@ Mr.Young Toán tử bất bình đẳng VB (so sánh hai biến tham chiếu đối tượng) là 'IsNot' và không phải là 'Không phải'. – x7iBiT