当前位置: 首页 > 面试题库 >

从单独的列中在实体框架中添加日期时间和时间

袁建木
2023-03-14
问题内容

我想获取所有尚未结束的事件

select * FROM [Events] where EndDate+cast(EndTo as datetime)>GETDATE()

运作良好。

这是我在(EndTo: 11:00:00.0000000, END DATE: 2016-05-26)中的值

我尝试使用

var list = dbContext.Events
                    .Where(e => e.EndDate + e.EndTo > DateTime.Now)
                    .ToList();

我收到一个错误

DbArithmeticExpression参数必须具有数字通用类型。

如何在Entity Framework中编写此查询?


问题答案:

这是因为你尝试添加DateTimeTimeSpan,这是不允许的。为此,请尝试使用类似以下内容的方法DateTime.AddSeconds(TimeSpan.TotalSeconds)

var list= dbContext.Events
           .Where(e=>e.EndDate.AddSeconds(e.EndTo.TotalSeconds) > DateTime.Now)
           .ToList();

或如果这是LINQ to Entities:

var list= dbContext.Events
           .Where(e=>EntityFunctions.AddSeconds(e.EndDate, e.EndTo.TotalSeconds) > DateTime.Now)
           .ToList();

编辑:

由于您e.EndToNullable<TimeSpan>,因此您应该使用Value

var list= dbContext.Events
           .Where(e=>e.EndDate.AddSeconds(e.EndTo.Value.TotalSeconds) > DateTime.Now)
           .ToList();

或者

var list= dbContext.Events
           .Where(e=>EntityFunctions.AddSeconds(e.EndDate, e.EndTo.Value.TotalSeconds) > DateTime.Now)
           .ToList();


 类似资料:
  • 问题内容: 我有一个网络表单,用户可以在其中从日历弹出窗口中选择日期,并从下拉菜单中选择时间。目前,我正在尝试使用Date对象存储日期。 这个对象的输出类似于: 1970年1月1日,00:00:00 GMT 我真正想做的是将其分开并以类似 27/02/2013 的格式存储日期,并以24小时格式(例如 23:45) 将时间作为单独的对象。我不确定如何用Java做到这一点。 使用SimpleDateF

  • 问题内容: 经过大量的google’ing和PHP手动阅读之后,我真的很想在日期时间加上X分钟,但似乎一无所获。 我的日期时间格式是: : 要添加的分钟数只是0到59之间的数字 我希望输出与添加分钟的输入格式相同。 有人可以给我一个有效的代码示例,因为我的尝试似乎并没有带我去任何地方? 问题答案: 在ISO 8601标准的持续时间 是在形式的串,其中所述部件用指示的持续时间有多长一个数字值代替。

  • 我有一个表,dateime的值是这样的 我想得到那一天或今天(现在是2021年12月8日)。因此,我尝试在控制器中使用EF: 但我还是没有弄明白。当我尝试调试DateTime时。今天日期,是指日期时间。今天={09/12/2021 00:00:00}。但当我尝试将createddate更新为“2021-12-09 00:00:00.000”时,它可以被检索。那么,如何检索我今天创建的行(忽略时间)

  • 问题内容: 我有一个数据框,其中一列用于时区,一列用于日期时间。我想先将它们转换为UTC并与其他数据合并,然后我将进行一些计算以最终从UTC转换为观看者的本地时区。 那是我的错误尝试。错误是事实不明确,这是有道理的,因为“时区”变量引用的是列。如何引用同一行中的值? 编辑:这是一天数据的下面答案的一些结果(394,000行和22个唯一时区)。Edit2:我添加了一个groupby示例,以防有人想要

  • 问题内容: 我有一张关于不同资产的开/关事件的表格。我需要在不使用游标的情况下获取开始和停止事件时间的列表。 来源: 所需结果: 问题答案: 这是解决方案,带有概念验证供所有人验证。 我注意到的事件被标记为新事件。我解决了这个问题,但是这也导致我编写了一个解决方案,该解决方案允许发生一个已经开始但尚未结束的事件,因此我加入了一个开放式事件。 另外,我的解决方案在重叠的时期内有效。 讲解 我们将数据

  • 问题内容: 我有一个类型为“ datetime”的列,其值类似于2009-10-20 10:00:00 我想从datetime提取日期并编写类似的查询: 以下是最好的方法吗? 但是,这将返回一个空的结果集。有什么建议么? 问题答案: 您可以使用MySQL的功能: 您也可以尝试以下方法: 有关使用的性能影响的信息,请参见此答案。