在Entity Framework中查询Todays记录

Pat*_*han 3 c# sql linq entity-framework

我如何只在下面的EF中获得今天的记录.我试过下面但没有运气:

 List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets
                      .Where(b => b.BasketID == teacherGuid && b.Created == DateTime.Now)
                      .ToList();
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

LINQ to Entities不支持指定的类型成员"Date".仅支持初始值设定项,实体成员和实体导航属性.

小智 6

你需要DateTime像这样投

var todaysDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month,  DateTime.Today.Day);
Run Code Online (Sandbox Code Playgroud)

现在将其传递给过滤器

List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets
                  .Where(b => b.BasketID == teacherGuid && b.Created == todaysDate)
                  .ToList();
Run Code Online (Sandbox Code Playgroud)

否则你先得到今天的日期.

DateTime today = DateTime.Now.Date;
Run Code Online (Sandbox Code Playgroud)

然后像这样实现:

List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets
                  .Where(b => b.BasketID == teacherGuid && (b.Created.Value.Year == today.Year &&  b.Created.Value.Month == today.Month && b.Created.Value.Day== today.Day))
                  .ToList();
Run Code Online (Sandbox Code Playgroud)