プログラムでSQLクエリをlinq式ツリーに変換することは可能ですか? sql クエリはこの linq クエリによって生成されるはずなので、貧乏人の linq クエリの t-sql 形式へのシリアライゼーション\デシリアライゼーションと考えています。
ありがとうございました。
プログラムでSQLクエリをlinq式ツリーに変換することは可能ですか? sql クエリはこの linq クエリによって生成されるはずなので、貧乏人の linq クエリの t-sql 形式へのシリアライゼーション\デシリアライゼーションと考えています。
ありがとうございました。
すべてが可能です。トラック一台分の作業が必要なだけです。問題は、最初に SQL クエリを解析し、AST を解釈して linq 式ツリーに変換する必要があることです。Linq は sql と 1:1 の互換性がないため、これは簡単なことではありません。たとえば、linq では、groupby の集計は groupby の外部にありますが、SQL では内部にあります。それらは同じスコープ内にある必要があります。それ以外の場合は動作しません。この種の情報は、linq クエリを SQL クエリに変換するために必要ですが、その逆も必要です。
したがって、クエリを保存するために、別のルート、たとえば仕様パターンを選択しました
LINQ-to-SQL に何かが組み込まれているとは思えません。
理論的には、私はそれが可能だとあえて言います (ただし、同じクエリを表現するさまざまな方法があるため、ラウンドトリップを保証するわけではありません) - しかし、うまく行うのは非常に困難です。