次のLINQを使用してデータベースにクエリを行い、特定の日付から削除された製品を取得します。 fromDateからはfromDateから= {2016年12月8日午前11時41分であった場合LINQでのDateTimeの比較が正しい結果を返さない
return _myDbEntities.Log
.Where(p => p.Action.Equals("Deleted") &&
(p.ActionDate > fromDate))
.Select(p => new DeletedProduct()
{
ProductId = p.ProductId,
ActionDate = p.ActionDate
}).ToList();
しかし、クエリがproduct.ActionDate.Value = {2016年12月8日11時41分00秒AM}のような値をretreivingれます。 00 AM}
クエリで明らかにGREATER THANと表示されます。ここで何が起きてるの?
秒の小数点を確認します(またはタイムスタンプとして表示します)。たぶん違いはありますか –
ActionDateのタイプは?試してみてください(p.ActionDate.Value> fromDate)? –
クエリでは 'product.ActionDate'を使用していますが、titでは' product.ActionDate.Value'が必要です。 – Guy