2011-11-14 8 views
1

おそらくMicrosoftは、クエリ言語としてLINQ(Entities?)を使用してEntity Frameworkを使用する必要があると言います。SQL ServerはLINQクエリ言語をネイティブでサポートする必要がありますか?

クエリ言語としてのLINQがSQLよりも改善されている場合は、LINQをSQLに変換するのではなくネイティブでサポートする必要があります。

下位互換性のために、古代の古いSQLもサポートしたいと思うでしょうか?これがちょっとした改良ではないことを考えれば、私は息を止めません。しかし、理想的で長期的に考えているのであれば、なぜですか?

実用的であれば、これは良いことだと思うのですか?私は可能性のある答えとして「はい」を、そして閉じるためにいくつかの票を期待しています。

答えて

2

SQLはrelational data model(投影、結合など)に密接に結びついていますが、LINQはクエリを抽象化するだけのデータ操作を行うためのより一般的な方法です。

一方、LINQは.Net型で直接動作し、そのメソッドとプロパティを使用します。一方、SQL data typesは、(XMLおよび地理/ジオメトリを除いて)ほとんどすべての種類のOOPをサポートしないプリミティブなデータ型です。

これは、LINQからSQLに直接変換できない多くのクエリが存在し、LINQのネイティブサポートが状況を改善しない理由を説明します。

ただし、LINQクエリをquery planに直接変換するサポートされているLINQクエリ用のパーサーを作成すると、従来のSQLの代替として興味深いオプションになります.LINQはIntelliSenseサポートを強化するためのものです。

+0

私の反応は、LINQ構文がまだデータベースでLINQが.NETオブジェクトに対して現在動作しているのと同じ方法で動作するようにデータベースに実装できることだと思います。私は大声で考えていて、他の人の考えをその人物に求めたかったのです。いい答え。 – ChadD

関連する問題