动态lambda表达式条件


Markup 全选
ParameterExpression pm = Expression.Parameter(typeof(ZUD_ApplicationStudioLockInfo),"x");
Expression body = null;
foreach(var item in this.layersToDelete) {

    Expression bodyItem = null;

    var viewIdLeft = Expression.Property(pm,nameof(ZUD_ApplicationStudioLockInfo.ApplicationID));
    var viewIdRight = Expression.Constant(item.Id);
    var viewIdExpr = Expression.Equal(viewIdLeft,viewIdRight);


    var layerNameLeft = Expression.Property(pm,nameof(ZUD_ApplicationStudioLockInfo.LayerName));
    var layerNameRight = Expression.Constant(item.LayerName);
    var layerNameExpr = Expression.Equal(layerNameLeft,layerNameRight);


    bodyItem = Expression.AndAlso(viewIdExpr,layerNameExpr);

    body = body == null ? bodyItem : Expression.OrElse(body,bodyItem);
}

var lambda = Expression.Lambda<Func<ZUD_ApplicationStudioLockInfo,bool>>(body,pm);

var lockData = Db.ZUD_ApplicationStudioLockInfo.Where(lambda).ToList();
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:windows 11隐藏进程
下一篇:Cursor接触地区封锁
评论列表

发表评论

评论内容
昵称:
关联文章

动态lambda表达式条件
.NET 通用多条件动态参数查询方法 - SqlSugar ORM
Linq和Lambda 性能对比
devexpress RowStyle 根据条件设置背景色
正则表达式
复合子条件查询
带日期条件的BAQ
带Bool条件的BAQ
正则表达式,通俗易懂的介绍
VSCode 正则表达式跨行搜索
VSCode正则表达式 查询 汇总
动态表单存储设计
fastreport显示带[] 方括号的文本或表达式
动态桌面遇上 HTML5
asp.net TagHelper根据条件向元素添加class
iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例
VSCode正则表达式检索:如何使用正则表达式匹配包含特定属性但排除另一个属性的HTML标签
.Net Core Razor 预编译,动态编译,混合编译
C# 编写一个小而快的 Windows 动态桌面
Quartz.NET创建定时任务,触发器Cron表达式 配置参数解释

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码