【发布时间】:2018-02-13 10:02:33
【问题描述】:
我的表格有一列 dates 的 date 数据类型,短日期格式为“2018/2/12”。
现在我希望在 C# 中使用 Linq 查询来检索日期。
这是我在 SQL Server 上运行的查询,它返回一些行:
select *
from tbl_Attendance
where Dates = '2018/2/12'
但是,如果我尝试运行这些查询,它要么返回 null,要么返回“方法无法转换为存储表达式”错误。
只有以下查询返回正确的 ID,但日期不正确。
var q = (from a in context.tbl_Attendance
where a.ID.Value.CompareTo(Iden) < 0 && a.Dates.Value.CompareTo(DateTime.Now) < 0
select a).FirstOrDefault();
和:
var q = (from a in context.tbl_Attendance
where a.Dates == DateTime.Now
select a).FirstOrDefault();
和:
var q = (from a in context.tbl_Attendance
where a.Dates.Value.ToShortDateString() == DateTime.Now.ToShortDateString()
select a).FirstOrDefault();
最后我也试过了:
attendance = context.tbl_Attendance.Where(d => d.ID == row.xID && d.Dates == DateTime.Now).FirstOrDefault();
【问题讨论】:
标签: c# linq datetime linq-to-entities