2008最大の新機能LINQを分かりやすく解説。C#コードでDBやオブジェクトを検索。LINQを始めるにはまずここから。2008)にはさまざまな新機能が追加されていますが、最大の新機能といえばやはり「LINQ」(「リンク」と読みます)でしょう。Basicなど)のコード内に記述できるクエリとなります。クエリとは「問い合わせ」です。開発でクエリといえばデータベース検索に使われるSQL文が代表的ですが、LINQではSQL文に似た構文によりクエリを記述し、データベースをはじめ、さまざまな対象から、データの検索や集計、取得などが可能になります。Basicは拡張されバージョン・アップしています。3.5のクラス・ライブラリには、LINQのクエリを実行するのに必要なクラス群が追加されています。本稿ではC#プログラマーの方に向けて、LINQを使ううえで最低限必要な知識を分かりやすく解説していきます。これからLINQを学ぼうという方の最初の一歩となれば幸いです。LINQで記述された問い合わせまずはLINQにより、これまで記述していたデータベースの問い合わせのためのC#のコードがどのように変化するのかを見ていきます。■ADO.NET+SQL文によるデータベースへの問い合わせ.NETでデータベースのクエリというと、これまではADO.NETのフレームワーク(クラス・ライブラリ)を使って行っていました。これは例えば次のようなコードになります。2008でコンソール・アプリケーションのプロジェクトを新規作成します。次にサンプルのデータベース・ファイルである「NORTHWND.MDF」をソリューション・エクスプローラのプロジェクト名の部分にドラッグ&ドロップしてください。第4回」で解説しています。これによりデータソース構成ウィザードが起動しますが[キャンセル]ボタンをクリックしてキャンセルしてください。リスト1のコードを入力します。リスト1のSQL文では、Ordersテーブルから、ShipCountry列の値が「Norway」のレコードを選択し、そのレコードの4つの列の値を取得しています。Page2」を参照してください。リスト1の実行結果は次のようになります。Norwayリスト1の実行結果さて、リスト1で示したコードは、ADO.NETを利用したデータベース・プログラミングの基本的なコードといえますが、SQL文の記述に関しては次のような問題点があります。テーブルの列名のスペルを間違ったとしても、それは実行時にSQL文が送信されるまでエラーになりません。LINQはまずこれらの問題を解決してくれます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。