LINQ to SQLクラスの作成とWindowsフォームでの表示

Visual Studio 2008のオブジェクトリレーショナルデザイナ(以下、O/Rデザイナ)を使って、エンティティクラスを作成する。」ここまではLINQのセッション等で行われているデモでよく見るのですが、取ってきたデータを表示するというのはコンソールだったりします。というわけで、ひとまずWindowsフォームに表示するにはどのような手順になるのかということをここに書いておきたいと思います。


MSDNライブラリでは、下記のページにその方法が書かれています。

LINQ to SQL クラスの作成 : O/R デザイナの使用



1.Windowsフォームアプリケーションを新規に作成(もちろんターゲットフレームワークは、3.5に設定)し、[プロジェクト]メニューの[新しい項目の追加]から[LINQ to SQLクラス]を追加します。



2.[サーバーエクスプローラ]を開き、そこにSQL Serverデータベース(ここではローカルのsqlexpressに作成したNorthwindデータベース)への接続を追加します。


3.追加したデータベースを展開し、テーブルの項目から任意のテーブル(ここではCustomers)を[O/Rデザイナ]上にドラッグ&ドロップします。



4.プロジェクトをビルドします。


5.[データ]メニューから[データソースウィンドウ]を開き、[新しいデータソースの追加…]をクリックします。その後、[アプリケーションのデータの取得元]として[オブジェクト]を選択します。


6.表示されているアセンブリ名(ここではWindowsApplication1)を展開し、バインド先のオブジェクトにCustomersを選択し、[完了]ボタンをクリックします。



7.[フォームデザイナ]を表示し、データソースウィンドウのCustomersの項目をフォーム上にドラッグ&ドロップします。


8.フォームのコードとして、下記のように記述します。

Public Class Form1
    Private DataClasses1DataContext1 As New DataClasses1DataContext
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CustomersBindingSource.DataSource = DataClasses1DataContext1.Customers()
    End Sub
End Class