gpt4 book ai didi

c# - 使用 Linq 按可为空的日期时间字段过滤

转载 作者:行者123 更新时间:2023-11-30 20:34:46 26 4
gpt4 key购买 nike

我正在尝试过滤 SQL 表中具有特定日期的所有行。如果该列不可为 null,它会工作,但如果是,则失败。

这适用于不可为 null 的日期时间字段:

ent.MyTable.Where(e => e.MyDate.Day == 12);

显然这不适用于可为空的日期时间字段。在互联网上做了一些搜索之后,我发现了很多类似以下问题的“解决方案”:

ent.MyTable.Where(e => e.MyDate != null && e.MyDate.Day == 12);

不幸的是,这对我也不起作用。如果我考虑此错误消息,这是可以理解的:

'System.Nullable' does not contain a definition for 'Day' and no extension method 'Day' accepting a first argument of type 'System.Nullable' could be found (are you missing a using directive or an assembly reference?)

我想避免获取所有 SQL 行然后在.NET 中进行过滤,因为我只对极少数行感兴趣。还有其他我目前看不到的方法吗?

最佳答案

使用可空日期的值属性

ent.MyTable.Where(e => e.MyDate.HasValue && e.Date.Value.Day == 12);

关于c# - 使用 Linq 按可为空的日期时间字段过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38788107/

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