Вычислить выражение C # внутри другого выражения

Я хочу использовать выражение в другом:

Expression<Func<double, double>> f = x => x * x * 27 + blah ... expression with x;

Expression<Func<double, double>> g = y => 3 + 8 * f.Compile()(y) * y * blah... expression with y and f(y);

Это не будет работать при отправке в LINQ to SQL, потому что f.Compile () является неизвестно в SQL.

Как вы оцениваете выражение f для переменной y без его компиляции, но все еще используя обычный синтаксис для определения g ?

Я не хочу определять все g некоторыми нечитаемыми операторами Expression.Add / Expression.Multiply и т. Д.

Спасибо .

11
задан SemMike 8 August 2011 в 04:52
поделиться