私は定数を返す式を作成しました3単純な式コンビネーション
var right = Expression.Constant(3);
そして私は別の式を持っていますこの
Expression<Func<BSType, int>> left = bsType => bsType.Length;
のように見えるFunc<BSType, int>
のS私はそう
Expression.Equal(left, right);
などの等しい発現してそれらを比較しようとすると、私はエラーを取得する:
The binary operator Equal is not defined for the types 'System.Func`2[ExpressionBuilder.BSType,System.Int32]' and 'System.Int32'
私が必要とするように私は感じますそれは長さを解決することができるように関数の左側に型のパラメータを渡すが、私はそうする方法を正確にはわからない、誰かが正しい方向に私を指すことができますか?
私は ' –
が起こっている大体何を示すために、私の質問を更新しました式<機能> ' - あなたは' left'は 'int'はなく、<のFunc >' '式になるように、そのint型の一部を抽出する必要はありませんか? –
@トッツザムええ、どうすればいいですか?エンティティフレームワークで動作する式を生成する方法で –