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

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

袁建木
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的功能: 您也可以尝试以下方法: 有关使用的性能影响的信息,请参见此答案。

  • 问题内容: 我在MySQL数据库中将许多列定义为“时间”。也就是说,他们有时间,但没有日期。当CakePHP 3 ORM读取它们时,它们将被转换为Cake \ I18n \ Time对象(通过Cake \ Database \ Type \ TimeType类),但是结果中始终带有日期和时间,并且日期设置为当前日期。例如,如果值为“ 20:00:00”,将生成: 当我在模板中回显它时(未使用过),