Convertendo cotações F # em expressões LINQ
Eu posso converter uma cotação do tipoExpr<'a -> 'b>
para uma expressão Linq por meio do seguinte trecho:
/// Converts a F# Expression to a LINQ Lambda
let toLambda (exp:Expr) =
let linq = exp.ToLinqExpression() :?> MethodCallExpression
linq.Arguments.[0] :?> LambdaExpression
/// Converts a Lambda quotation into a Linq Lamba Expression with 1 parameter
let ToLinq (exp : Expr<'a -> 'b>) =
let lambda = toLambda exp
Expression.Lambda<Func<'a, 'b>>(lambda.Body, lambda.Parameters)
Agora eu quero converter uma cotação do tipoExpr<'a * 'b -> 'c>
ou talvez atéExpr<'a -> 'b -> 'c>
para uma expressão Linq Lambda do tipoExpression<Func<'a,'b'c>>
.
Como posso fazer isso?
Atenciosamente, forki