LINQ kullanarak bir tarih aralığından farklı tarihleri ​​alma

Aymira Yazılım Bilişim Aymira Yazılım Bilişim

06 Ocak 2019 Veri Tabanı Y.Sis. (18) /MySQL (1) (66)

Paylaşmak güzeldir. Lütfen sizde paylaşın...


Verilen her tarih için en erken süreyi döndürecektir.

Veritabanının içinde yürütülmesini istiyorsanız:

var mod = (from m in lstMachineInfo
             where m.RegisterationId == EnrollNumber 
                && m.Date >= startDate 
                && m.Date <= endDate
             select m)
           .GroupBy(a => EntityFunctions.TruncateTime(a.Value.Date))
           .Select(z => z.OrderBy(y => y.Date).First()).ToList();

 

Aşağıdaki ise Verilen her tarih için en erken süreyi döndürecektir.Bu, veritabanı dışında yürütülecektir.

(belirli bir gündeki farklı zaman kayıtlarının sayısı sınırlı ise iyi olacaktır).

var earlyMod = mod
    .GroupBy(dt => dt.Value.Date)
    .Select(z => z.OrderBy(y => y.Date).First())
    .ToList();

Örneğin Son üç Aydaki kayıtları getirmek için ise;

yourCollection.Where(x => 
    DateTime.Compare(x.DateTimeProperty, DateTime.Today.AddMonths(-3)) >= 0);


Paylaşmak güzeldir. Lütfen sizde paylaşın...



Herkesyazar Ara