c# - 检查 SQL 查询是否返回 null
问题描述
我有个问题。我正在从数据库中获取某个列的总和。但是,在某些情况下,总和应该为 0 -> 如果没有符合条件的记录
在我看来:
<Label Content="{Binding Path=Sum, UpdateSourceTrigger=PropertyChanged}" />
在 ViewModel 我有:
public override void save()
{
Sum = new Sum(ATMAEntites).Calculate(IdEvent, IdDealer, "Standing");
}
在模型类中,我有:
public int? Calculate(int IdEvent, int IdDealer, string CategoryName)
{
return (from wydaneSprzedawcy in ATMAEntites.WydaneSprzedawcy
where wydaneSprzedawcy.Bilety.IdEvent == IdEvent &&
wydaneSprzedawcy.IdDealer == IdDealer &&
wydaneSprzedawcy.Bilety.CategoryName == CategoryName
select wydaneSprzedawcy.quantity).Sum();
}
我想在模型中检查查询是否返回 null
解决方案
我假设 wydaneSprzedawcy.quantity 是 int 且不可为空。然后你可以尝试在选择中添加一个强制转换到 (int?) ,如下所示:
public int? Calculate(int IdEvent, int IdDealer, string CategoryName)
{
return
(
from wydaneSprzedawcy in ATMAEntites.WydaneSprzedawcy
where
wydaneSprzedawcy.Bilety.IdEvent == IdEvent &&
wydaneSprzedawcy.IdDealer == IdDealer &&
wydaneSprzedawcy.Bilety.CategoryName == CategoryName
select (int?)wydaneSprzedawcy.quantity
).Sum();
}
现在,如果查询没有返回记录,sum 应该返回 null。
推荐阅读
- google-cloud-firestore - Firestore Security Get with a Where Query using Array Contains 产生权限被拒绝
- docker - 如何使用 DIND 图像在管道中将不安全的注册表作为参数传递
- kubernetes - 无法访问具有 externalTrafficPolicy 为“本地”的 kubernetes 服务
- node.js - Gmail API NodeJS - UnhandledPromiseRejectionWarning:错误:未找到请求的实体
- html - 使用 `object-fit: cover` 的 Img 仍然增加了父级的高度
- matlab - 为什么我不能按 spmd 块内的共分布数组大小进行索引?
- python - 需要帮助设置 git bash 终端以运行 python
- c++ - 使用 function-try-block 时 Visual Studio 中出现 C4297 警告(假定函数不会引发异常,但会引发异常)
- javascript - 为 Jest/Axios 上传测试导入一个模拟 JSON 文件
- javascript - 为什么这里找不到变量?