Ayo Adesina
Ayo Adesina

Reputation: 2395

The specified type member 'Date' is not supported in LINQ to Entities. DbFunctions.TruncateTime()

Question question = 
         db.Questions
           .Where(q => DbFunctions.TruncateTime(q.Day.DayDate) == DbFunctions.TruncateTime(DateTime.Now.Date))
           .Where(q => q.Order == id)
           .FirstOrDefault();

When I try to run the above statement, I get the following error:

The specified type member 'Date' is not supported in LINQ to Entities

I thought that DbFunctions.TruncateTime() method would solve this problem as suggested in many posts I have seen, however I still get the error. I also tried to just apply the method to the database value but I still get the same error.

Question question = 
         db.Questions
           .Where(q => DbFunctions.TruncateTime(q.Day.DayDate) == DateTime.Now.Date)
           .Where(q => q.Order == id) 
           .FirstOrDefault();

Upvotes: 0

Views: 50

Answers (1)

Selim Yildiz
Selim Yildiz

Reputation: 5370

You need to pull DateTime into variable before LINQ:

var dateOfNow = DateTime.Now.Date;

Question question = 
         db.Questions
           .Where(q => DbFunctions.TruncateTime(q.Day.DayDate) == dateOfNow)
           .Where(q => q.Order == id) 
           .FirstOrDefault();

Upvotes: 1

Related Questions