Sorgu Tarih (Lambda)
-
Hocalar merhaba,
Databasede Datetime tipinde tarihler kayıtlı (2016-08-08 09:58:18.863). buna lambda ile where kriteri eklemek istiyorum bugünün olan tarihlerini listelemek istiyorum
var model1 = con.Uyes.Where(x => x.OdemeTarih == System.DateTime.Now);
Şu üstteki kodun çalışması gibi yani bunları arka planda
2016-08-08 00:00:00.000 == 2016-08-08 00:00:00.000
Kısacası convert işlemini bulamadım.
-
System.DateTime.Now <>2016-08-08 00:00:00.000System.DateTime.Today ==2016-08-08 00:00:00.000iki tarafıda tostring() ile stringe çevir ve Today Kullan
-
yada .month .year .day ayrı ayrı eşitle oda çalışır.
-
manglerman bunu yazdı
yada .month .year .day ayrı ayrı eşitle oda çalışır.
model = model.Where(x => Convert.ToDateTime(x.OdemeTarih).Year + "-" + Convert.ToDateTime(x.OdemeTarih).Month + "-"+ Convert.ToDateTime(x.OdemeTarih).Day + "-" == Convert.ToDateTime(tar).Year + "-" + Convert.ToDateTime(tar).Month + "-" + Convert.ToDateTime(tar).Day);hocam şu şekilde diyorsun sanırım. Bu şekilde alttaki hatayı vermekte.
LINQ to Entities does not recognize the method 'System.DateTime ToDateTime(System.Object)' method, and this method cannot be translated into a store expression.
-
Merhaba, saniye salise cinsinde bir detay yapmak sadece gün bazlı kontrolde kullanmak problem yaratacak.
Bu nedenle @manglerman'ın söylediği gibi iki tarafı string'e çevir, ek olarak boşluk karakteri ile split yap ve ilk kısmı yani 0 bölümünü al. ve ikisini karşılaştır.
Günlük kıyaslamada saniye salise kontrol etmek problem çıkarır.
-
x.OdemeTarih kismini x.OdemeTarih.Date yapip dener misin?
-
EF6' da System.Data.Entity.DbFunctions altında TruncateTime işini görür
EF6 altı için EntityFunctions olarak geçiyordu galiba bi araştır.
saybirs tarafından 08/Ağu/16 21:47 tarihinde düzenlenmiştir -
model = model.Where(x => EntityFunctions.TruncateTime(x.OdemeTarih) == tar );
hocalar şöyle yaptım oldu teşekkürler
