2

プログラムでSQLクエリをlinq式ツリーに変換することは可能ですか? sql クエリはこの linq クエリによって生成されるはずなので、貧乏人の linq クエリの t-sql 形式へのシリアライゼーション\デシリアライゼーションと考えています。

ありがとうございました。

4

3 に答える 3

2

すべてが可能です。トラック一台分の作業が必要なだけです。問題は、最初に SQL クエリを解析し、AST を解釈して linq 式ツリーに変換する必要があることです。Linq は sql と 1:1 の互換性がないため、これは簡単なことではありません。たとえば、linq では、groupby の集計は groupby の外部にありますが、SQL では内部にあります。それらは同じスコープ内にある必要があります。それ以外の場合は動作しません。この種の情報は、linq クエリを SQL クエリに変換するために必要ですが、その逆も必要です。

したがって、クエリを保存するために、別のルート、たとえば仕様パターンを選択しました

于 2009-05-21T07:59:08.910 に答える
1

LINQ-to-SQL に何かが組み込まれているとは思えません。

理論的には、私はそれが可能だとあえて言います (ただし、同じクエリを表現するさまざまな方法があるため、ラウンドトリップを保証するわけではありません) - しかし、うまく行うのは非常に困難です。

于 2009-05-21T07:08:32.787 に答える