首页 > 解决方案 > 表达式树.Net中的可空int检查

问题描述

我想使用表达式树过滤可空属性。

例如。

Items.Where(item => item.myNullableIntProperty == null)

使用Expression.Equal(property, value)结果不会返回任何数据。还有其他方法可以检查吗?

var value = Expression.Constant(null);
var parameter = Expression.Parameter(query.ElementType, "");
var property = Expression.Property(parameter, "MyNullableIntPropertyName");
var expression = Expression.Equal(property, Expression.Constant(value));

var lambda = Expression.Lambda<Func<TEntity, bool>>(expression , parameter);
lambda.Compile();
query.Where(lambda);

编辑:此代码适用于除 null 之外的所有其他值

标签: .netlinqexpression-trees

解决方案


推荐阅读