我有一个MVC应用程序,在视图上有一个网格。允许用户使用不同的信息过滤网格上的数据。一种方法是使用两个日期选择器作为日期范围(最小/最大)。我试图在业务逻辑中找到所有匹配的数据集。但由于某种原因,日期范围始终返回空集。我知道我没有正确编码,但不知道要改变什么。这是代码 -
filteredbyCustCriteria = _unitOfWork.CustomerRepository.Get.Where
(w => (reportSearch.FullName != null ? (w.FirstName + " " + w.LastName).Contains(reportSearch.FullName.Trim()) : true)
&& (reportSearch.MinPaidDate != null ? EntityFunctions.TruncateTime(w.Orders.FirstOrDefault().OrderPayments.FirstOrDefault().PaymentDate) >= reportSearch.MinPaidDate : true)
&& (reportSearch.MaxPaidDate != null ? EntityFunctions.TruncateTime(w.Orders.FirstOrDefault().OrderPayments.FirstOrDefault().PaymentDate) <= reportSearch.MaxPaidDate : true));
它可以找到全名。
答案 0 :(得分:2)
使用可空DateTime
时,我发现在某些情况下我必须使用.Value
。试试这个:
>= reportSearch.MinPaidDate.Value
<= reportSearch.MaxPaidDate.Value