我正在尝试构建动态表达式查询,以便只获取列中包含null的行
where AssignedUser is null
下面是我的代码,但它并没有达到我的预期。有谁能把这个问题说清楚吗?
private Expression<Func<VwAssignmentActivities, bool>> GetIsNullExpressionEquals<T>(string propName, T value)
{
var item = Expression.Parameter(typeof(VwAssignmentActivities), "item");
var prop = Expression.Convert(Expression.Property(item, propName), value.GetType());
Expression body = Expression.Equal(prop, Expression.Constant(null, prop.Type));
return Expression.Lambda<Func<VwAssignmentActivities, bool>>(body, item);
}
任何帮助感激
1条答案
按热度按时间puruo6ea1#
你得到的错误是因为你在你的Nullable中有一个值。get类型返回Int32,即使变量是Nullable。然后,您正在尝试将null转换为int。
假设您只关心查找空值,我会这样做