C# 使用linq sql从数据库中获取指定日期和时间范围之间的数据

C# 使用linq sql从数据库中获取指定日期和时间范围之间的数据,c#,linq-to-sql,C#,Linq To Sql,我有一个包含日期和时间两个独立列的表(SQLServer2008) 我试图在asp.net MVC(C#)应用程序中获取当前时间前1分钟和当前时间后1分钟之间的数据 我已尝试将where条件用作: ce.Start_Date.Add(ce.Start_Time) >= _currDateTime.AddMinutes(-1) && ce.Start_Date.Add(ce.Start_Time) <= _currDateTime.AddMinutes(1) 如何更

我有一个包含日期和时间两个独立列的表(SQLServer2008)

我试图在asp.net MVC(C#)应用程序中获取当前时间前1分钟和当前时间后1分钟之间的数据

我已尝试将where条件用作:

ce.Start_Date.Add(ce.Start_Time) >= _currDateTime.AddMinutes(-1) && 
ce.Start_Date.Add(ce.Start_Time) <= _currDateTime.AddMinutes(1)

如何更正/纠正此错误?

不要在
where
子句中添加分钟,请尝试以下操作:

for ce in data
let start = _currDateTime.AddMinutes(-1)
let end = _currDateTime.AddMinutes(1)
where ce.Start_Date.Add(ce.Start_Time) >= start && 
ce.Start_Date.Add(ce.Start_Time) <= end
select ce
数据中ce的

let start=\u currDateTime.AddMinutes(-1)
let end=\u currDateTime.AddMinutes(1)
其中ce.Start\u Date.Add(ce.Start\u Time)>=开始和

ce.Start\u Date.Add(ce.Start\u Time)在表中添加“更新时间”字段并将当前时间与此字段进行比较的最简单方法。

问题似乎是服务器日期类型没有正确的SQL翻译
尝试使LINQ将日期转换为日期时间,如下所示:

Convert.ToDateTime(ce.Start_Date).Add(ce.Start_Time)

转换为.AsEnumerable(),并操纵日期和时间,返回为.AsQueryable()

我也尝试过上面的条件,它不允许在where条件中添加ce.Start\u Date.add(ce.Start\u Time),甚至不允许使用let
Convert.ToDateTime(ce.Start_Date).Add(ce.Start_Time)