Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表达式树修改_C#_Lambda_Expression - Fatal编程技术网

C# 表达式树修改

C# 表达式树修改,c#,lambda,expression,C#,Lambda,Expression,我有这个 expression = expression.And(c => (c.Parameter.ValueType != Domain.Entities.ValueType.Selection && SqlFunctions.PatIndex(value, c.Value) > 0 )

我有这个

expression = expression.And(c => (c.Parameter.ValueType != Domain.Entities.ValueType.Selection 
                                   && SqlFunctions.PatIndex(value, c.Value) > 0
                                  )
                                  ||
                                  (c.Parameter.ValueType == Domain.Entities.ValueType.Selection 
                                   && value == c.LookupValue.Code
                                  )
                            );

我需要修改它,以便可以有多个值(用户现在可以从下拉列表中选择多个选项)。有什么想法吗?

So
Domain.Entities.ValueType.Selection
现在是一个
列表,而不是单个值?没有“值”现在不是单个值。所以我有一个值列表,通过迭代,我需要重建这个表达式。这些值需要与或组合。e、 g.(c.Parameter.ValueType==Domain.Entities.ValueType.Selection&&(value1==c.LookupValue.Code)| |(value2==c.LookupValue.Code));我想我已经非常接近于理解这一点了,但似乎需要更多的信息才能真正地填写它,成为一个-你能添加更多关于你正在传递的信息和你期望得到的信息吗?想象一下一个有很多过滤器的搜索表单。当过滤器是一个单一的选择之一时,表达式就像上面提到的那样构建,然后你就有了类似results=context.any(表达式)的东西。现在,此表达式需要考虑多个选定值。