2

EF を使用して日付で ObjectQuery をフィルター処理するために使用される次のメソッドがあります。

public List<T> FilterObjectSetByDate<T>(ObjectQuery<T> inputQuery, string dateColumn) where T : class
{
    ObjectQuery<T> filteredQuery = inputQuery.Where("(dateadd(dd,0, datediff(dd,0, it" + dateColumn + ")) = @p0)");
    ObjectParameter objParam = new ObjectParameter("p0", DateTime.Now);
    filteredQuery.Parameters.Add(objParam);

    return filteredQuery.ToList();
}      

これにより、次のエラーが発生します。

'dateadd' cannot be resolved into a valid type or function.

Entity Framework を使用して (DateTime の時間部分を無視して) 特定の日のレコードのリストを返す方法はありますか?

4

2 に答える 2

1

今朝、これを理解しました:

Where("SqlServer.datediff('DAY'," + dateColumn + ", @p{1}) = 0")
于 2012-09-05T07:06:45.950 に答える
0

グーグルは、 for と同様に"SqlServer.dateadd...、 just の代わりに使用することを提案しています。"dateadd...datediff

于 2012-09-04T13:02:43.563 に答える