Vâng, nếu bạn đã biết nó không phải là null, bạn có thể sử dụng Value
để có được những tiềm ẩn giá trị không nullable:
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
Hoặc nếu bạn muốn lọc vào đó quá :
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value != null &&
c.CallNextDate.Value.Date < DateTime.Now.Date)
.ToList();
tôi muốn mạnh khuyến khích bạn lấy ngày hôm nay lần mặc dù, và tái sử dụng nó cho toàn bộ truy vấn:
var today = DateTime.Today;
q = q.AsQueryable()
.Where(c => c.CallNextDate.Value != null &&
c.CallNextDate.Value.Date < today)
.ToList();
Điều đó sẽ mang lại cho bạn sự nhất quán hơn. Bạn thực sự nên cân nhắc xem bạn có chắc chắn muốn có ngày địa phương hệ thống địa phương hay không.
(Bạn có chắc chắn cần phải sử dụng AsQueryable
, bằng cách này Đó là tương đối hiếm?.)
Nguồn
2012-11-21 17:36:38
Điều gì, không yêu thích 'GetValueOrDefault() '? –
@JonB: Điều đó sẽ hoạt động * nếu * OP muốn bao gồm tất cả các mục nhập không có ngày. Thật không may các yêu cầu rất không rõ ràng. –