在下面的查询中如何删除日期时间列的de time部分以仅获取不同的日期?
using (var ctx = new DBConn())
{
var q = ctx.Table.Select(r => r.datetimefield).Distinct();
}
Run Code Online (Sandbox Code Playgroud)
Fem*_*ref 12
您正在使用linq-to-sql或EF(我不知道您使用的是哪一个)的故障磕磕绊绊.直接的解决方案是使用该DateTime.Date属性,但是,这两个ORM都不支持,它不映射到SQL方法.
你有两个解决方案:
使用以下方法急切评估查询ToList:
var q = ctx.Table.ToList().Select(r => r.datetimefield.Date).Distinct();
Run Code Online (Sandbox Code Playgroud)创建一个仅详细说明数据库中日期组件的字段.这是我通常去的方式,因为您可以留在数据库中并在那里执行查询.
假设r.datetimefield是一个DateTime,则可以DateTime.Date用来删除时间部分:
var q = ctx.Table.Select(r => r.datetimefield.Date).Distinct();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6861 次 |
| 最近记录: |