2

我有一个包含datetime类型列的表。我想使用 Entity FrameWork 查询该表,给定datetime用户使用datetimePicker.

问题是在 c# 中没有Date类型,仅DateTime在插入时才存在datetime,例如,它获取那个时间24/8/2012 13:02;12的值,但是当从它获取值时,由于它们的时间和实体框架,从DatetimePicker它获取的值给了我24/8/2012 12:00:00两个日期不相等,所以如何只使用没有时间的日期来查询日期,或者任何替代的想法都会有所帮助

那是我的代码

DateTime dt = new DateTime(2012,8,24);
var data = db.Tabel1.where(x=>x.Date.equals(dt));
4

2 回答 2

3
var Tomorrow = dt.Date.AddDays(1);
var data = db.Tabel1.where(x=>x.Date >= dt.Date && x.Date < Tomorrow);
于 2013-08-24T16:55:41.007 回答
3

我相信你需要使用EntityFunctions.TruncateTime如下:

DateTime dt = new DateTime(2012,8,24);
var data = db.Tabel1.where(x=> EntityFunctions.TruncateTime(x.Date) == dt);
于 2013-08-24T17:00:53.263 回答