【发布时间】:2020-08-10 05:27:18
【问题描述】:
我正在尝试从数据库中获取数据,但我卡在了最后一行。 BestSellerRating 是 int,我不知道在这里做什么。我需要 bestSeleltRating 高于 0 而不是空值。 "表达式的结果始终为真,因为 int 类型的值永远不会等于 int 类型的 null"
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
【问题讨论】:
-
将
BestSellerRating的类型更改为int?,这意味着“可为空的int”,因此您可以分配并检查null -
除了 Alex 刚才所说的之外,您还可以检查
int?上的HasValue属性,看看它是否为空。 -
我没有在我的开发机器上快速尝试它......但是,如果你将一个 int 定义为可为空的 int?,你不能检查它是否为空?
标签: c#