1

我在我的 sql 表中有一个名为“CreatedDate”的 DateTime 类型列,并通过使用我的 asp.net 应用程序中的“DateTime.Now”来传递该列的值....

我的 CreatedDate 列中的数据是,

 CreatedDate
 -----------
 2012-05-07 18:56:17.487
 2012-05-07 18:56:28.443
 2012-05-07 19:21:24.497
 2012-05-14 15:22:04.587

我需要用这个来获取数据CreatedDate

在我的实体框架中,我尝试了类似的条件

DataAccess.Entities dataEntities = new DataAccess.Entities();

DataAccess.Employee employee = dataEntities.Employees
                              .First(e => e.CreatedDate == DateTime.Today);

像这样,我有这个 date(2012-05-14) 的数据,但是这里的 minutes 部分不同(the DateTime.Today gives '2012-05-14 12:00:000' like this),它显示错误,例如,序列不包含元素....

我如何在 Linq 中单独比较“日期”.....有人可以在这里帮助我吗,,,

4

3 回答 3

2

在 DateTime 对象上使用Date属性

CreatedDate.Date==DateTime.Today

所以你的代码将是

DataAccess.Employee employee=dataEntities.
                     Employees.First(e=>e.CreatedDate.Date==DateTime.Today);

Date属性返回对象的DateComponentDateTime和设置为的时间值12:00:00 midnight (00:00:00)

于 2012-05-14T12:07:49.857 回答
1

尝试这个:

DataAccess.Employee employee =
    dataEntities.Employees.First(e=>e.CreatedDate.Date==DateTime.Today)
于 2012-05-14T12:07:57.020 回答
0

我刚刚声明了两个变量

DateTime date1=DateTime.Now.Date;
DateTime date2=DateTime.Now.Date.AddDays(1);

在我使用这些变量的条件下

DataAccess.Employee employee = dataEntities.Employees
                          .First(e => e.CreatedDate >= date1 
                                   && e.CreatedDate < date2);

它的工作......

于 2012-05-22T12:28:10.223 回答