[英]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方法。
你有兩個解決方案:
使用ToList
急切評估查詢:
var q = ctx.Table.ToList().Select(r => r.datetimefield.Date).Distinct();
創建一個僅詳細說明數據庫中日期組件的字段。 這是我通常去的方式,因為您可以留在數據庫中並在那里執行查詢。
假設r.datetimefield
是DateTime,您可以使用DateTime.Date
刪除時間組件:
var q = ctx.Table.Select(r => r.datetimefield.Date).Distinct();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.