gpt4 book ai didi

c# - 为什么 Database.Query() 为空时返回 null?

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:03 25 4
gpt4 key购买 nike

我正在尝试在我的网络服务器上运行一些 ASP.NET 代码,它安装了 Mono 3.10.0 和 ASP.NET 版本:4.0.30319.17020。

有问题的代码是这样的:

var db = Database.Open("myMySQLdatabase");
var q1 = db.Query(@"SELECT id FROM ph_conditions WHERE conditionName = '"+newCondName+"'");
if(q1==null || q1.Count() == 0){
//
}

当运行 db.Query() 时,如果我的数据库中没有匹配项,它会返回“null”,而不是我所期望的,这是一个大小为 0 的 IEnumerable 列表。为什么会这样?

如果有匹配,那么它的行为符合预期。

现在,为了避免空错误,我加入了一个检查以查看查询是否为空,但它应该始终返回某种列表,即使它是空的,对吧?

最佳答案

显然,Mono 3.10.0 附带的 WebMatrix.Data 与它在 Windows 中的对应物并不完全相同,如果查询没有结果,它会返回“null”。

因此,为了解决这个问题,我在 Database.cs 中添加了一行以返回一个空列表并重新编译了 WebMatrix.Data.dll

关于c# - 为什么 Database.Query() 为空时返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27852640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com