我正在尝试查询一个可能包含NULL值的表。根据这个问题,使用object.Equals
是解决方法:
DateTime? myDate = null;
var q =
from row in db.Activities
where object.Equals(row.FirstActivityTime, myDate)
select row;
这是可以实现的,但当我给
myDate
赋一个非空值时,DateTime? myDate = DateTime.Now;
当所有东西崩溃并抛出异常时,可能会出现以下错误提示:"无法将类型 'System.Nullable`1' 强制转换为类型 'System.Object'。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。"
我可以将 where 子句重写为
where row.FirstActivityTime == myDate || (row.FirstActivityTime == null && myDate == null)
但是有没有办法使用 object.Equals
让它起作用呢?