Преобразование цитат F # в выражения LINQ
Я могу конвертировать цитату типаExpr<'a -> 'b>
в выражение Linq через следующий фрагмент:
/// 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)
Теперь я хочу преобразовать цитату типаExpr<'a * 'b -> 'c>
или, может быть, дажеExpr<'a -> 'b -> 'c>
к лямбда-выражению Linq типаExpression<Func<'a,'b'c>>
.
Как я могу это сделать?
С уважением, форки