2011-08-15 8 views
2

私は日付+時刻を格納するDateTimeフィールドを持っています。私は日付の部分を使用する必要があるので、私は試してみてください。DateTimeとLinqToEntities

  query = query.Where(p => p.CreatedDateTime.Date == DateStart); 

が、私は次のエラーを取得:なぜ、どのようにそれを修正するために

The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.

を?

このことについて何

答えて

5

Entity Frameworkが有効SQLにこれを変換する方法がない場合は、データベースのヒットにつながるLINQクエリで拡張機能を使用することはできません

query = query.Where(p => EntityFunctions.TruncateTime(p.CreatedDateTime) == DateStart); 
1

は、よりコンパクトな解決策があるかもしれませんが、以下では正常に動作する必要があります:

query = query.Where(p => 
    p.CreatedDateTime.Year == DateStart.Year && 
    p.CreatedDateTime.Month == DateStart.Month && 
    p.CreatedDateTime.Day == DateStart.Day);