答案 0 :(得分:0)
尝试在出现错误的地方替换此行:
var report = db.qryItemsMR_emp.Where(m => m.DepartmentShortname==Search && (DateTime?)m.mr_date >= fromd && (DateTime?)m.mr_date <= tod).List();
当Nullable具有值时,将Nullable DateTime压缩为Datetime会产生错误。
OR
或者在fromd.HasValue
和tod.HasValue
时写两个不同的校验,或者在为null时写第二个校验:
if(fromd.HasValue && tod.HasValue )
var report = db.qryItemsMR_emp.Where(m => m.DepartmentShortname==Search && m.mr_date >= fromd.Value && m.mr_date <= tod.Value).List();
else
var report = db.qryItemsMR_emp.Where(m => m.DepartmentShortname==Search).List();
如果&否则使用静态类型而不是report
,则需要在外部声明var
以便以后使用。我不确定什么是回报类型,所以留给您。