2013-01-29 26 views
6

Najpierw kod Entity Framework 4.0, C# 4.0. Co jest nie tak z numerem w kodzie ?Nie jest pusta w zapytaniu EntityFramework

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

EDIT:

Wiele błędów po dodaniu nie jest null.

Jednym z nich jest:

typu lub nazwa przestrzeni nazw „Nie” nie można znaleźć (czy brakuje użyciu dyrektywa lub odwołania do zestawu?)

+0

Jaki błąd dostałeś kiedy go zabrakło? –

+0

Proszę zobaczyć moje zaktualizowane. –

Odpowiedz

10

Not nie jest słowo kluczowe w zapytaniach LINQ, więc otrzymasz błędy kompilatora. Musisz użyć operatora nierówności (!=), aby sprawdzić, czy FilePath nie jest pusta.

Poniższy kod powinien pracować dla Ciebie

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

Tylko wyjaśnić, co się tutaj wydarzyło. '! =' jest operatorem nierówności dla C#. Podobnie "Is Not" jest operatorem nierówności dla Visual Basic.NET. Widziałem, jak dana osoba może się mylić, ponieważ duża część dokumentacji ramowej .NET pokazuje oba języki. –

+0

@ Mr.Young Operator nierówności VB (porównuje dwie zmienne referencyjne obiektu) to "IsNot", a nie "Is not". – x7iBiT

Powiązane problemy