2013-08-24 223 views
2

我有一个表,其中包含一列datetime类型。我想用Entity FrameWork查询这个表,给出一个特定的datetime,用户使用datetimePicker插入。c#查询日期时间

的问题是在C#中没有Date类型,只有DateTime当过插入它得到了当时的datetime,例如24/8/2012 13:02;12,但是当从DatetimePicker获得的价值它给了我24/8/2012 12:00:00两个日期AREN存在” T以下,因为他们的时代,和Entity Framework,所以如何只使用日期没有时间日期查询,或任何其他的想法会有所帮助

这是我的代码

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

有你见过http://msdn.microsoft.com/en-us/library/bb738563.aspx –

回答

3
var Tomorrow = dt.Date.AddDays(1); 
var data = db.Tabel1.where(x=>x.Date >= dt.Date && x.Date < Tomorrow); 
+0

它除了是他的日期在数据库包含额外的时间信息。 –

+0

但这不工作。 x.Date .s datetime –

+0

@rabarkareem:什么是x.Date?表中名为“Date”的列? – dotNET

3

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

DateTime dt = new DateTime(2012,8,24); 
var data = db.Tabel1.where(x=> EntityFunctions.TruncateTime(x.Date) == dt); 
+0

它给我一个使用EntityFunctions的例外 –

+3

@rabarkareem是什么例外? – Alex