2015-10-27 45 views
1

我如何在下面的EF中獲得今天的記錄。下面我嘗試,但沒有運氣:查詢實體框架中的今天記錄

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

我得到異常:

指定類型的成員「日期」在LINQ是不支持的實體。 僅支持初始值設定項,實體成員和實體導航屬性 。

+1

[指定類型成員'Date'在LINQ to Entities異常中不受支持]的可能重複(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

您不能使用日期方法的LINQ語句中。您需要將日期保存到DateTime變量中,並在LINQ語句中使用該變量。