我正在尝试使用LINQ为我的视图创建一个where子句.
我能够创建单列where子句,我想现在创建多个列where子句..
我已经看到了在.Net 4及更高版本中实现的代码,但由于我必须使用.Net 3.5,我需要快速解决这个问题.所以我想做的是....
Expression leftexp = {tag=>((tag.id=2)||(tag.id=3))}
Expression rightexp = {tag=>((tag.uid="MU")||(tag.uid="ST"))}
Run Code Online (Sandbox Code Playgroud)
从我想创建的这两个表达式
BinaryExpression be = {tag=>((tag.id=2)||(tag.id=3))} &&
{tag=>((tag.uid="MU")||(tag.uid="ST"))}
Run Code Online (Sandbox Code Playgroud)
这样的东西,我可以传递给LINQ中的where子句.
我试着用Expression.And(leftexp,rightexp)
但得到了错误..
二进制运算符And没有为类型
System.Func2[WebApplication1.View_MyView,System.Boolean]' and 'System.Func2 [WebApplication1.View_MyView,System.Boolean]'定义.
表达对我来说是新的,可能已经看了太多的代码,所以有点混淆如何去做...如果你能指出我正确的方向,真的很感激.