我对描述感到抱歉。我的英语不是很好。让我再试着描述一下。
假设我将 LamdaExpression 作为名为 FindProducts 的方法的参数。现在我需要在 FindProducts 方法中解析这个参数,现在我遇到的问题是当参数如下代码(Listn.Contains())时,我无法从这个参数列表中获取值:
var sFilter = new List<string>(){"AFilter", "BFilter"};
myObj.FindProducts(s => sFilter.Contains(s.Name)); --- Here the parameter is an expression
我的问题是如何在 FindProducts 方法中获取列表 sFilter(AFilter 和 BFilter) 中的值?
我要做的就是解析这个表达式,然后将其转换为 SQL 脚本。就我而言,我想做的是这样的:FindProducts(s=>filterList.Constains(s)),在这里我会尝试将 S 解析为列名,filterList 应该是 SQL 中的 in 子句。最后我会让我的 SQL 像这样: select * from TABLE where S in ('A', 'B') which is from that expression