public DateTime? CallNextDate {get;set;}
のようにNULL可能日時としての私のモデルにフィールドを宣言しました。
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
それとも、その上でフィルタリングする場合は、あまりにも:それは
public DateTime? CallNextDate {get;set;}
のようにNULL可能日時としての私のモデルにフィールドを宣言しました。
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
それとも、その上でフィルタリングする場合は、あまりにも:それは
さて、あなたはすでにそれがnull以外であることを知っているならば、あなたは根本的なnull非許容値を取得するためにValue
を使用することができます修正する方法を提案してください。 :
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value != null &&
c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
私はは全体のクエリのためにそれを一度しかし今日の日付を取得し、再利用することをお勧め強くをしたい:
var today = DateTime.Today;
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value != null &&
c.CallNextDate.Value.Date < today)
.ToList();
これにより、一貫性が向上します。ところで、実際にシステムのローカル日付が本当に必要かどうかを検討する必要があります。
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
しかし、あなたがする必要があります。
(?。あなたは間違いなく方法によって、AsQueryable
を使用する必要がないということは比較的まれです)
Null許容型は、基になる型を表し、Valueプロパティを持っていますタイプが値を持っていることを確認してください。
q = q.AsQueryable()
.Where(c => c.CallNextDate.HasValue && c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
「GetValueOrDefault()」は何ですか? –
@JonB:もしOPが日付のないすべてのエントリを含んでいたら*うまくいくでしょう。残念ながら、要件は非常に不明です。 –