2016-08-17 19 views
0

私はこれを数時間苦労しており、簡単な説明があることを確信しています。DateTime.NowとSQL Serverの開始時刻と終了時刻を比較する

私は、列DayOfWeekDateTime)を含むSQL Serverのテーブルを持っているStartTimeTime)、EndTimeTime)。

私はDateTime.Nowが、StartTimeより大きくEndTime未満同じDayOfWeekあるすべての行を取得する選択ラムダを記述しようとしています。

私はSQL ServerのタイプTimeをC#Timespanとして使用する必要があると思いますが、私はそれを正しく理解できません。

私はここの説明(Datetime.now as TimeSpan value?)から作業しようとしましたが、役に立たないです。コードの

私の行は次のとおりです。

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

すべてのヘルプははるかに高く評価します。

+0

dはDateTime.Nowです。混乱して申し訳ありません –

答えて

2

どのように私はそれを逃したのか分からない、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(); 
関連する問題