簡體   English   中英

linq查詢不同的日期

[英]linq query distinct date

在下面的查詢中如何刪除日期時間列的de time部分以僅獲取不同的日期?

using (var ctx = new DBConn())
{
  var q = ctx.Table.Select(r => r.datetimefield).Distinct();
}

您正在使用linq-to-sql或EF(我不知道您使用的是哪一個)的故障磕磕絆絆。 直接的解決方案是使用DateTime.Date屬性,但是,這兩個ORM都不支持,它不映射到SQL方法。

你有兩個解決方案:

  1. 使用ToList急切評估查詢:

     var q = ctx.Table.ToList().Select(r => r.datetimefield.Date).Distinct(); 
  2. 創建一個僅詳細說明數據庫中日期組件的字段。 這是我通常去的方式,因為您可以留在數據庫中並在那里執行查詢。

假設r.datetimefield是DateTime,您可以使用DateTime.Date刪除時間組件:

var q = ctx.Table.Select(r => r.datetimefield.Date).Distinct();

暫無
暫無

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

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