.net - 表达式树.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 之外的所有其他值
解决方案
推荐阅读
- facebook - 按关键字获取 Facebook 媒体博客的文章
- java - TextView 不会将我从登录重定向到我的注册活动
- blogger - 如何在移动设备上隐藏 Blogger 的侧边栏
- javascript - 检查字符串中的字符是否唯一
- jquery - 如何在 jquery 中创建滑块
- ajax - 如何在 PHP 和 Ajax 中使用两个下拉列表获取自动响应值?
- opencv - 哪种使用 OpenCV 的对象检测方法最适合不断变化的环境?
- angular - Angular API 调用的 HTTP-GET 请求不起作用
- php - 如何从数据库中自动选择保存值以选择 HTML 标记
- c - 为什么正确打印此非空终止字符串