LINQ to SQLクラスの作成とWindowsフォームでの表示
「Visual Studio 2008のオブジェクトリレーショナルデザイナ(以下、O/Rデザイナ)を使って、エンティティクラスを作成する。」ここまではLINQのセッション等で行われているデモでよく見るのですが、取ってきたデータを表示するというのはコンソールだったりします。というわけで、ひとまずWindowsフォームに表示するにはどのような手順になるのかということをここに書いておきたいと思います。
MSDNライブラリでは、下記のページにその方法が書かれています。
1.Windowsフォームアプリケーションを新規に作成(もちろんターゲットフレームワークは、3.5に設定)し、[プロジェクト]メニューの[新しい項目の追加]から[LINQ to SQLクラス]を追加します。
2.[サーバーエクスプローラ]を開き、そこにSQL Serverデータベース(ここではローカルのsqlexpressに作成したNorthwindデータベース)への接続を追加します。
3.追加したデータベースを展開し、テーブルの項目から任意のテーブル(ここではCustomers)を[O/Rデザイナ]上にドラッグ&ドロップします。
4.プロジェクトをビルドします。
5.[データ]メニューから[データソースウィンドウ]を開き、[新しいデータソースの追加…]をクリックします。その後、[アプリケーションのデータの取得元]として[オブジェクト]を選択します。
6.表示されているアセンブリ名(ここではWindowsApplication1)を展開し、バインド先のオブジェクトにCustomersを選択し、[完了]ボタンをクリックします。
7.[フォームデザイナ]を表示し、データソースウィンドウのCustomersの項目をフォーム上にドラッグ&ドロップします。
8.フォームのコードとして、下記のように記述します。
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