それが null でないことが既にわかっている場合は、 を使用Value
して、基になる null 非許容値を取得できます。
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
または、それもフィルタリングしたい場合:
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();
これにより、より一貫性が得られます。ところで、システム local dateが本当に必要かどうかを検討する必要があります。
(ちなみに、絶対に を使用する必要がありますAsQueryable
か?それは比較的まれです。)