C# 将DateTime.Now与SQL Server中的开始和结束时间进行比较

C# 将DateTime.Now与SQL Server中的开始和结束时间进行比较,c#,sql-server,datetime,C#,Sql Server,Datetime,我已经为此挣扎了几个小时,我相信有一个简单的解释 我有一个SQL Server表,其中包含DayOfWeek DateTime、StartTime和EndTime列 我正在尝试编写一个lambda select,它获取DateTime所在的所有行。现在是星期一,大于StartTime,小于EndTime 我想我必须使用SQL Server类型的Time作为C Timespan,但我就是做得不对 我试着从这里的解释开始工作,但没有用 我的代码是: context.DayAndTimeModifie

我已经为此挣扎了几个小时,我相信有一个简单的解释

我有一个SQL Server表,其中包含DayOfWeek DateTime、StartTime和EndTime列

我正在尝试编写一个lambda select,它获取DateTime所在的所有行。现在是星期一,大于StartTime,小于EndTime

我想我必须使用SQL Server类型的Time作为C Timespan,但我就是做得不对

我试着从这里的解释开始工作,但没有用

我的代码是:

context.DayAndTimeModifiers
       .Where(x => x.IsActive && (int)d.DayOfWeek == x.DayOfWeek 
                   && d.??? > x.StartTime 
                   && d.??? < x.EndTime)

非常感谢任何帮助。

我不知道我怎么会错过它,DateTime.Now.TimeOfDay是我所需要的。 这是调整后的代码行

var d = DateTime.Now;

return context.DayAndTimeModifiers
              .Where(x => x.IsActive && (int)d.DayOfWeek == x.DayOfWeek && 
                          d.TimeOfDay > x.StartTime && d.TimeOfDay < x.EndTime).ToList();

我不知道我是怎么错过的,DateTime.Now.TimeOfDay是我需要的。 这是调整后的代码行

var d = DateTime.Now;

return context.DayAndTimeModifiers
              .Where(x => x.IsActive && (int)d.DayOfWeek == x.DayOfWeek && 
                          d.TimeOfDay > x.StartTime && d.TimeOfDay < x.EndTime).ToList();

d是DateTime.Now。抱歉,有任何混淆D是DateTime.Now。对不起,有什么困惑