C# 使用linq sql从数据库中获取指定日期和时间范围之间的数据
我有一个包含日期和时间两个独立列的表(SQLServer2008) 我试图在asp.net MVC(C#)应用程序中获取当前时间前1分钟和当前时间后1分钟之间的数据 我已尝试将where条件用作: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) 如何更
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)