我正在使用system.linq.dynamic.core 和nhibernate linq。现在我想将两个动态linq表达式传递给一个方法。一个用于父表,一个用于连接子列表。 两个表达式的输入参数都是随机的,因此表达式可以是
“x => x.Name == \”Wick \“”
或者
“k => k.FirstName = \”John \“”
现在我知道使用动态linq你可以将字符串表达式解析为LambdaExpression。
如果我想创建连接,则必须为连接表添加别名。所以从表达式中我想提取'x'或'k'。 这可能吗?
答案 0 :(得分:4)
LambdaExpression
有a Parameters
property,您可以使用它来访问有关lambda参数的信息。在你的情况下,这可能是这样的:
string GetParameterName(LambdaExpression expression) => expression.Parameters.Single().Name;