Linq 查询中的 DBnull 导致问题

发布于 2024-08-13 13:09:17 字数 479 浏览 8 评论 0原文

我正在执行一个查询:

int numberInInterval = (from dsStatistics.J2RespondentRow item in jStats.J2Respondent
                   where item.EndTime > dtIntervalLower && item.EndTime <= dtIntervalUpper
                   select item).count();

endtime 列中似乎有一些 dbnull。 有什么办法可以避免这些吗?

尝试添加 &&其中 item.endtime != null.. 甚至 != dbnull.value

我是否必须执行第二个(第一个)查询来获取所有非空值,然后运行上面的查询?

我确信它的修复超级简单,但我仍然想念它..

谢谢 纳特

i am doing a query thus:

int numberInInterval = (from dsStatistics.J2RespondentRow item in jStats.J2Respondent
                   where item.EndTime > dtIntervalLower && item.EndTime <= dtIntervalUpper
                   select item).count();

there appear to be some dbnulls in the endtime column..
any way i can avoid these?

tried adding && where item.endtime != null.. and even != dbnull.value

do i have to do a second (first) query to grab all that arent null then run the above one?

im sure its super simple fix, but im still missing it.. as per

thanks
nat

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

荒岛晴空 2024-08-20 13:09:17

我认为你想使用 item.EndTime.HasValue,而不是 item.EndTime == null。

I think you want to use item.EndTime.HasValue, and not item.EndTime == null.

满意归宿 2024-08-20 13:09:17

最简单的方法是对可以为 null 的值使用 .GetValueOrDefault(...Some合理的默认值...) ,这样可以避免错误。

The simplest way to do it is to use .GetValueOrDefault(...Some reasonable default...) on the value that can be null and it will avoid the error.

拥醉 2024-08-20 13:09:17

我通常在 T-SQL 查询中执行此操作的方法是在日期上使用 ISNULL,并在日期为空时将日期设置为“12/31/2099”。

使用 Linq 可能是这样的:

from t in MyTable
在哪里
Convert.ToString((Convert.ToString(t.MyDateColumn) ?? "12/31/2099")) <我的目标值

The way I typically do this in a T-SQL query is to use ISNULL on the date, and set the date to something like '12/31/2099' when it's null.

With Linq it could be something like this:

from t in MyTable
where
Convert.ToString((Convert.ToString(t.MyDateColumn) ?? "12/31/2099")) < MyTargetValue

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文