【发布时间】:2019-05-14 10:02:30
【问题描述】:
我编写了那个代码。我想使用 T-SQL DATEADD。
var result = dbContext.MyEntity
.Where(DbFunctions.AddHours(g.Date,g.Hour) >= minDate
&& DbFunctions.AddHours(g.Date,g.Hour) <= maxDate).ToList();
当这到达 SQL 时,我得到了错误:
日期函数 dateadd 不支持 datepart 小时 输入日期
【问题讨论】:
-
错误信息试图告诉你问题。您的数据类型为
date而不是datetime,并且您在该日期使用dateadd(hour)。 Related -
好的,我知道了。但是我不能在这里写新的 DateTime。我怎么能加入那个日期和时间,并查询他们。注意:我无法将 db 列从 Date 更改为 Datetime。
-
尝试以下操作: var result = dbContext.MyEntity .Where(g => g.Date.AddHours(g.Hour) >= minDate && g.Date.AddHours(g.Hour)
-
@jdweng .AddHours 在查询数据库时不直接使用。
-
SQL 服务器为 AddHours 使用了三个参数,而您只有两个:docs.microsoft.com/en-us/sql/t-sql/functions/…
标签: c# entity-framework linq lambda entity-framework-6