c#提取linq查询lambda参数的方法

问题描述:

我有吨这种类型的条件查询参数与休眠。这需要进行某种封装,但我是linq查询的新手,不确定它是否完全可能。样的交换这样的:c#提取linq查询lambda参数的方法

if (!string.IsNullOrEmpty(params.test)) 
{ 
    vq = vq.WhereRestrictionOn(c => c.test).IsIn(params.test.StartsWith(";") ? params.test.Substring(1).Split(';') : params.test.Split(';')); 
} 

vq = newShinyFunction(vq, params.test, (c => c.test)); 

任何lambda表达式等(C => C.TEST)将自然地投射到一个委托或表达式匹配它的类型。在这种情况下,Func<typeofc, typeoftest>Expression<Func<typeofc, typeoftest>>Func<Object, Object>

检查WhereRestrictionOn的api参考以查看它需要的类型。将它用作新闪亮函数的最终参数的类型。

+0

谢谢,'表达式>'是一个捕获。现在更清洁。 – Robert