2009-07-31 4 views

答えて

5

LINQは、他のほとんどのデータ・アクセス・メソッドを介して1つの大きな利点がありセーバー膨大な時間があるので、それをLINQ検討することもでき、さまざまな理由の一つだと思う:それはクエリを中心式 'の意味を持ちます。つまり、クエリーをオブジェクトのように渡して変更したり変更したりすることができます。の前にはすべてが実行(反復)されます。実際には、コードはモジュール化され、よりよく分離されています。データアクセスリポジトリは 'orders'クエリを返し、リクエスト処理パイプラインの中間フィルタはこのクエリをフィルタでデコレートし、ソートやページネーションなどを追加するディスプレイモジュールに渡されます。その表現は非常に具体的なSELECT ... WHERE ... ORDER BY ... LIMIT ...(またはROW_NUMBERのような他のバックエンド固有のページ付け)に完全に変換されています。アプリケーション開発者にとっては、これは貴重なものであり、実行可能な代替手段はありません。これがLINQがここにいると信じて、2年間で消えないと思う理由です。それは間違いなくただの流行以上のものです。そして、私は特にLINQをデータベースアクセスメソッドと呼んでいます。

クエリ式オブジェクトを単独で操作する利点は、LINQを落札価格にするには十分な要素です。 (XML、配列、コレクション、オブジェクト、SQL)を操作することができる複数のコンテナ型と、これらの異なるテクノロジすべてで公開されている統一インターフェイスを追加して、並列処理の変更を検討してください。配列やコレクションのLINQ処理に透過的に統合されており、LINQの廃止になるわけではありません。確かに、今日ではそれは時には読めない、パフォーマンスの低い、実行不能なSQLを生成し、DBAのすべての悪夢です。それは良くなるでしょう。

+0

lol @ "すべての専用DBAの悪夢" – Tundey

+0

偉大な答え(私は自分自身と同じ質問をしていました)とそれを知っていることは、 "時には読めない、パフォーマンスの低い、不完全なSQLを生成します。 :) – JohnB

4

Linqは、データへの「ファーストクラス」のアクセスを提供します。つまり、クエリがプログラミング言語の一部になっているということです。

Linqは、あらゆる種類のデータオブジェクトにアクセスする共通の方法を提供します。たとえば、データベースクエリにアクセスするのに使用されるのと同じ構文を使用して、リスト、配列、およびXMLファイルにアクセスすることもできます。

Learning Linqは、プログラミング言語の深い理解を提供します。 Linqは、拡張メソッド、匿名型、ラムダ式、式ツリー、型推論、オブジェクト初期化子など、あらゆる言語の技術革新の原動力でした。

+0

私は2番目の理由が一番好きです。 – JohnB

0

これは本当の質問ですか?コードスニペットでは答えられません。これらのディスカッションタイプの質問のほとんどは、すばやく閉鎖されます。

+3

...おそらく最もよくコメントとして表現されます。 –

+1

@Robert Harvey、おそらく最高のコメントですが、タイプチェックと安全性のない大規模なテキスト(SQLクエリ)を渡すのではなく、内容がVisual Studioの –

2

私はデータベースを照会するときにSQLをLINQに置き換えるのがなぜ良いと思いますか?

+1

タイプセーフインテリセンスです実行時にのみ生産.....) –

+1

@mark_s:これを行うための他の方法がありますが。強く型付けされたデータセット。 –

+1

Linqは、LinqからSQLまたはEntity FrameworkなどのORMを介してデータにアクセスするために推奨される方法です。 –

1

「あなたの敵を知っていますか?

OTOH、興味のあるもの。 XMl、XSLT、XSDなどについては、データベース開発者として使用することができるため、詳細を学習しています。

0

は、私は1つは、LINQは大きな生産性の向上と

0

この質問は、LINQが非常に普及するようになると、サーバーサイドの開発者はSQLとその先行者を知っていますか?

+2

どのようにあなたはアセンブリを知っていますか? –

関連する問題