Search code examples
c#linq-to-entities

Linq to Entities SqlFunctions.DatePart


This code is producing an error:

void GetLog()
{
    List<CAR_STATUS_LOGS> logs = null;
    using (TESTEntities ctx = new TESTEntities())
    {
        logs = 
            ctx.CAR_STATUS_LOGS
                .Where(a => SqlFunctions.DatePart("DAY", a.TIMEMARK) == 1)
                .ToList();
    }
}

The error is this:

LINQ to Entities does not recognize the method 'System.Nullable`1[System.Int32] DatePart(System.String, System.Nullable`1[System.DateTime])' method, and this method cannot be translated into a store expression.

I can't see what I am doing wrong with the SqlFunctions.DatePart. The column TIMEMARK is a Sqlserver DateTime type.
Any ideas?


Solution

  • if a.TIMEMARK is a datime, you cann access the day with a.TIMEMARK.Day