我想在另一個中使用表達式:
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時不起作用,因為SQL不知道f.Compile()。
如何在不編譯變量y
情況下計算變量y
上的表達式f
,但是仍然使用常規語法來定義g
?
我不想用一些不可讀的Expression.Add
/ Expression.Multiply
等語句來定義所有g
。
謝謝。
看一下LINQ查詢和LINQ Extensions項目中的調用函數 。 CLinq部分與您的問題無關,但它也包括LinqExt庫,這正是您正在尋找的。 LinqKit也使用相同的方法,它也為Linq提供了其他有用的擴展。