动态表达式使用泛型,其中的条件判断应该怎么写呢? 返回

SqlSugar 沟通中
1 229
该叫什么 发布于2周前
悬赏:0 飞吻

目前这么写报错中文提示 : 当前表达式value(<>c__DisplayClass15_0`2).workIdProperty.Compile().Invoke(a) 不支持,查看导航是否配置正确等 English Message : value(<>c__DisplayClass15_0`2).workIdProperty.Compile().Invoke(a)no support

        public static void ValidatableRole<TEntity, TUser>(Expressionable<TEntity, TUser> exp, string currentUserId, bool IncludeSelf,
                                    Expression<Func<TEntity, string>> workIdProperty, Expression<Func<TEntity, string>> mNameProperty,
                                    string SchCompanyID = null, string SchOrgCompanyID = null, string SchGroupCompanyID = null, string SchDeptID = null,
                                    string SchWorkID = null, string SchUserName = null, bool isGroupBased = false)
                                    where TEntity : class, new()
                                    where TUser : class, new()
        {
            if (IncludeSelf)
            {
                exp.AndIF(currentUserId == SchWorkID, (a, b) => workIdProperty.Compile().Invoke(a) == currentUserId);
            }

            if (!string.IsNullOrEmpty(SchWorkID))
            {
                exp.And((a, b) => workIdProperty.Compile().Invoke(a) == SchWorkID);
            }
            if (!string.IsNullOrEmpty(SchUserName))
            {
                exp.And((a, b) => mNameProperty.Compile().Invoke(a).Contains(SchUserName));
            }
        }


热忱回答1


  • SqlFunc.MappingColumn<string>(列名参数)==currentUserId


    列名参数如果前端传过来 要考虑sql注入


    SqlFunc.MappingColumn(sql)这个函数是可以将sql替换到指定位置



    0 回复