gpt4 book ai didi

c# - 如何使用 LinqToSql 查询特定日期时间

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:15 25 4
gpt4 key购买 nike

当使用 Linq2Sql 在特定日期时间查询数据库时,查询总是没有结果。我怀疑时间差了纳秒导致了差异。时间必须相等但不相等。如何查询数据库的日期时间,精确到秒?

以下代码有效,但它完全排除了时间部分:

        var Foos = Bars
.Where(x =>
DbFunctions.TruncateTime(x.EndDate) == DbFunctions.TruncateTime(endDate))
.Select(x => x.Id);

也试过这段代码(不是很漂亮)但是编译器提示在 linq 查询中有 Date。

        var Foo = Bars
.Where(x =>
x.EndDate.Value.Date == endDate.Value.Date &&
x.EndDate.Value.Hour == endDate.Value.Hour &&
x.EndDate.Value.Minute == endDate.Value.Minute &&
x.EndDate.Value.Second == endDate.Value.Second)
.Select(x => x.Id);

也试过这个,但查询返回时总是空的。可能 ToString() 在 Linq 查询中不起作用。

var foo = bars.Where(x => x.EndDate.ToString() == endDate.ToString())

最佳答案

您可以使用 DiffSeconds像这样的方法:

var Foo = Bars
.Where(x => DbFunctions.DiffSeconds(x.EndDate, endDate) == 0)
.Select(x => x.Id);

关于c# - 如何使用 LinqToSql 查询特定日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143342/

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