如何解决与Npgsql EF Core的日期比较
我试图使用简单的等式在Postgresql表中查找Date类型的列中的记录。我正在使用DateTime属性(不是noda)
我确信我缺少一些非常基本的东西,因为尝试了许多不同的方法后我没有成功。
即使日期等于数据库中的日期,以下代码也不会返回任何结果:
var m = new Model {
dateprop = default(DateTime)
}
var result = await context.Model
.Where(a => a.dateprop == m.dateprop)
.ToListAsync()
在数据库中,该列中有很多记录,其日期为0001-01-01。
此外,我尝试过:
- .Where(a => a.dateprop == m.dateprop.Date)
- .Where(a => a.dateprop.Date == m.dateprop.Date)
- .Where(a => a.dateprop.Date == m.dateprop)
- .Where(a => a.dateprop.Equals(m.dateprop))和以上所有品种
然后,如果我得到EF为.Where(a => a.dateprop.Date == m.dateprop.Date)
生成的查询并从SQL客户端运行它,它将工作并返回所有记录。
在where子句中定义日期相等条件的正确方法是什么?
修改 抱歉,我已经编辑了这个问题,很抱歉。最初,代码显示为:
var m = new Model {
dateprop = DateTime.Parse("1970-01-01")
}
var result = await context.Model
.Where(a => a.dateprop == m.dateprop)
.ToListAsync()
解决方法
以下可运行代码示例有效。我会仔细检查数据库,以查看其中到底有什么内容,以及它是否与filename.createNewFile();
String cmd = "logcat -d -t '08-14 11:58:20.211' -v time -f" + filename.getAbsolutePath() + " | grep " + PsLog.LOG_PREFIX;
Runtime.getRuntime().exec(cmd);
相对应。如果您仍然确信存在问题,请尝试调整以下代码以使其显示。
default(DateTime)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。