簡體   English   中英

如何在實體框架中使用linq查詢獲取特定時間之間的記錄

[英]how to get records between particular time using linq query in entity framework

我想在晚上8點到凌晨6點之間獲取記錄。 僅在晚上8點至早上6點之間如何編寫where子句才能獲取記錄。

  model = model.OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).Where(x=>x.status=="UP").Take(100).ToList();

樣本數據

1   39  6/28/2017 12:08:43 PM   UP
2   39  6/28/2017 12:04:18 PM   UP
3   39  6/28/2017 11:49:45 AM   UP

數據類型

public string UpdatedTime { get; set; }

控制者

 binModel.UpdatedTime = TimeZoneInfo.ConvertTimeFromUtc(item.timestamp, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).ToString();
model = model.Where(x=> {
    var timeOfDay = DateTime.Parse(x.UpdatedTime).TimeOfDay; 
    return x.status=="UP" && 
        (timeOfDay.TotalHours >= 20 ||  timeOfDay.TotalHours < 6);
    })
    .OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).Take(100).ToList();

應該確認時間是晚上8點或之后,以及早上6點之前。

檢查DateTime.Hour大於8pm或小於6 AM

model = model.OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).Where(x=>x.status=="UP" && (UpdatedTime.Hour > 20 || UpdatedTime.Hour < 6)).Take(100).ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM