2015-10-27 4 views
1

Как я могу получить только сегодняшнюю запись в своем EF ниже. Я попытался ниже, но не повезло:Запрос Сегодняшняя запись в платформе Entity Framework

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

Я подвожу Exception:

Указанный тип член 'Date' не поддерживается в LINQ к Entities. Поддерживаются только инициализаторы, сущности и свойства навигации сущности .

+1

Возможный дубликат [Указанный тип «Дата» не поддерживается в LINQ to Exities Exception] (http://stackoverflow.com/questions/11597373/the-specified-type-member-date-is-not- поддерживается в-LINQ к лицам, за исключением) –

ответ

2

Вы должны бросить в DateTime как этот

var todaysDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day); 

Теперь передайте его в фильтр

List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets 
        .Where(b => b.BasketID == teacherGuid && b.Created == todaysDate) 
        .ToList(); 

В противном случае вы получите текущую дату первой.

DateTime today = DateTime.Now.Date; 

Затем его достижения, как это:

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(); 
0

Вы не можете использовать метод Date в заявлении LINQ. Вам нужно сохранить дату в переменной DateTime и использовать переменную в операторе LINQ.

Смежные вопросы