問題タブ [expressionvisitor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Where クエリを作成するための LINQ 拡張メソッド
Where
機能するクエリを作成するために、LINQ-to-Object と LINQ-to-Entities の両方で使用できる拡張メソッドを作成しようとしています。最終的にはさらに詳しくなりますが、最初に、ラムダ列の選択を取り、それをContains()
呼び出しのベースとして使用するメソッドを取得するだけで問題が発生しています。LINQ-to-Objects で何かを機能させることができましたが、LINQ-to-Entities で使用しようとすると問題が発生します。
LINQ-to-Objects で機能するのは次のとおりです。
これが Entity Framework に対して実行されると、例外が発生します
LINQ to Entities はメソッドを認識しません...
これには を使用する必要があると感じてExpressionVisitor
いますが、どのように配線する必要があるのか わかりません。
アップデート:
xanatos によって提供された回答は、ExpressionVisitor を使用せずにこれを達成する簡単な方法を示しているため、これは重複していないと主張します。
antlr - Antlr Cpp templated visitor class
Is there any possibility of templated visitors in AntlrCpp similar to Java implementation?
I've a BaseExpression
class that I want to return from my visitors but for the sub-rules, I'd like to return ScalarExpression/VectorExpression
that derive from BaseExpression
. Now, I've to check the type of Any
everytime I need to do something specific related to scalar
or vector
rules. Having a template would eliminate the need for Any
and we can directly access the right type of object returned from each visitor method.