如何使用 LINQ 查询将小时数添加到日期?
How to add hours to date using LINQ query?
我需要获取最后七个日期并从我的数据库中为每个日期添加 -4 小时
我的 SQL 查询将是:
select DATEADD(hh, -4, [DateColumn])
from mydatabse.dbo.mytable
where DATEDIFF(dd, DATEADD(hh, -4, [DateColumn]), getdate()) between 1 and 7
group by DATEADD(hh, -4, [DateColumn])
任何人都可以帮助我将此 SQL 查询转换为 LINQ 吗?
我想你使用的是 C#?请查看以下内容是否符合您的需要:
using System.Data.Entity.SqlServer;
from a in mydatabase.mytable
let d = SqlFunctions.DateAdd("hh", -4, a.DateColumn)
let e = SqlFunctions.DateDiff("dd", d, SqlFunctions.GetDate())
where e >= 1 && e <= 7
group a by d into g
select g.Key;
还没编译就试试这个
var yourRecord = DBContext.Table.Where(x => DbFunctions.AddDays(DateTime.Now, -7) <= x.YourDate && x.YourDate <= DateTime.Now).FirstOrDefault();
yourRecord.YourDate = DateTime.Now.AddHours(4);
我需要获取最后七个日期并从我的数据库中为每个日期添加 -4 小时
我的 SQL 查询将是:
select DATEADD(hh, -4, [DateColumn])
from mydatabse.dbo.mytable
where DATEDIFF(dd, DATEADD(hh, -4, [DateColumn]), getdate()) between 1 and 7
group by DATEADD(hh, -4, [DateColumn])
任何人都可以帮助我将此 SQL 查询转换为 LINQ 吗?
我想你使用的是 C#?请查看以下内容是否符合您的需要:
using System.Data.Entity.SqlServer;
from a in mydatabase.mytable
let d = SqlFunctions.DateAdd("hh", -4, a.DateColumn)
let e = SqlFunctions.DateDiff("dd", d, SqlFunctions.GetDate())
where e >= 1 && e <= 7
group a by d into g
select g.Key;
还没编译就试试这个
var yourRecord = DBContext.Table.Where(x => DbFunctions.AddDays(DateTime.Now, -7) <= x.YourDate && x.YourDate <= DateTime.Now).FirstOrDefault();
yourRecord.YourDate = DateTime.Now.AddHours(4);