Как проверить, что int не равен NULL - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь получить данные из базы данных, и я застрял на последней строке. BestSellerRating - это int, и я не уверен, что здесь делать. Мне нужно, чтобы bestSeleltRating был выше 0, а не нулевое значение. «Результат выражения всегда истинен, так как значение типа int никогда не равно нулю типа int»

var articles = (from a in _db.Articles
                join articleRating in _db.ArticleRatings on a.Id equals articleRating.ArticleId
                where a.IsDeleted == false
                      && a.IsFinished
                      && a.IsSubmited
                      && a.BestsellerRating > 0
                      && a.BestsellerRating != null

Ответы [ 3 ]

0 голосов
/ 26 апреля 2020

Используйте 0 вместо нуля. Или попробуйте следующий фрагмент кода.

(a.BestsellerRating.ToString() == null)

0 голосов
/ 26 апреля 2020

Мне нужно, чтобы bestSeleltRating был выше 0, а не нулевое значение - фактический вопрос задается.

Он не спрашивает, как сделать int nullable.

Ниже вы проверяете, если a.BestsellerRating> 0 и a.BestsellerRating! = Null.

Вам нужен только a.BestsellerRating> 0. Он никогда не будет нулевым, и это условие всегда проверяет это выше, чем 0.

Обратное значение будет a.BestsellerRating == 0

var articles = (from a in _db.Articles
            join articleRating in _db.ArticleRatings on a.Id equals articleRating.ArticleId
            where a.IsDeleted == false
                  && a.IsFinished
                  && a.IsSubmited
                  && a.BestsellerRating > 0
                  && a.BestsellerRating != null
0 голосов
/ 26 апреля 2020

Базы данных и их результаты запросов по-разному аннотируют ноль, поэтому != null не будет работать.

Может варьироваться в зависимости от заданной c Базы данных и указанного c набора классов доступа к базе данных. вы используете, но обычно он соответствует классу DBNull:

https://docs.microsoft.com/en-us/dotnet/api/system.dbnull

Конечно, мы также имеем дело с LINQ и, возможно, LINQ с SQL здесь, так что это может быть что-то совершенно другое, еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...