2016-04-09 24 views
3

Bu sorunun bir kod örneği arıyorum.EF Sorguda DateTime ve TimeSpan eklemek için kod örneği

Using DateTime.Add(TimeSpan) with LINQ

bir DateTime için bütün TimeSpan eklemeniz gerekir.

Zaten SqlFunctions.DateAdd("ss", SqlFunctions.DatePart("s", b.duration)'u denedim ancak bu yalnızca TimeSpan'ın saniye bölümünü ekliyor gibi görünüyor.

Bu

Ben kodudur bugüne kadar

kullandığım Yorum önerilen olarak
var queryClash = from b in db.calEvents 
       where (newEvent.startTime <= (SqlFunctions.DateAdd("ss", SqlFunctions.DatePart("ss", b.duration), b.startTime))) 
       && (newEventEndTime >= b.startTime) 
       select b; 
+0

("ss", b.duration)' SqlFunctions.DateAdd ("ss", timespan.TotalSeconds, b.startTime), timeSpan'dan toplam saniye içinde addin kullanamazsınız? – Agalo

+2

Kabul edilen yanıt yerine, [rafael] kullanın (http: // stackoverflow. com/questions/16781587/using-datetime-addtimespan-with-linq/34346061 # 34346061) 'in aynı konudan yanıtı. –

cevap

3

: Ziyade `SqlFunctions.DatePart kullanılarak

DbFunctions.AddMilliseconds(b.startTime, DbFunctions.DiffMilliseconds(b.duration, TimeSpan.Zero)) >= endtime)