Visual Basic LINQ Hands On Labs for Orcas Beta 1

めずらしくコードはVBで書かれたLINQのハンズオン資料が公開されています。

Download Visual Basic LINQ Hands On Labs for Visual Studio 2008 from Official Microsoft Download Center



2つのdocファイルが提供されており、1つはコレクションとSQLXMLの3つについて簡単に説明してあるもの、もう1つはLINQ TO SQLについて詳しく解説してあるものとなっているようです。


この資料を参考にして、最もシンプルなLINQ TO SQLを使ったWPFアプリケーションの作成手順を書いてみたいと思います。


1.Orcas Beta 1で、新規にWPFアプリケーションを作成します。


2.「新しい項目の追加」で、プロジェクトにLinq to SQLファイルをNorthWind.dbmlという名前で追加します。


3.サーバーエクスプローラでローカルのsqlexpressに接続します(NorthWindを使うので、ない場合は作成しておきます)。


4.NorthWind.dbmlファイルを開いた状態にし、サーバーエクスプローラNorthWindデータベースからCustomerテーブルをドラッグ&ドロップします。


5.下記のようにWindow1.xamlを書きます。

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="Window1"
    Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
  <Grid>
 
    <ListView x:Name="CustomerList" ItemsSource="{Binding}">
      <ListView.View>
        <GridView>
          <GridViewColumn Header="CompanyName" DisplayMemberBinding="{Binding Path=CompanyName}"/>
          <GridViewColumn Header="ContactName" DisplayMemberBinding="{Binding Path=ContactName}"/>
          <GridViewColumn Header="Country" DisplayMemberBinding="{Binding Path=Country}"/>
        </GridView>
      </ListView.View>
    </ListView>
 
  </Grid>
</Window>


6.Window1.vbファイルを下記のように書きます。
Class Window1
 
    Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
        ' Use a standard connection string
        Dim db As New NorthwindDataContext()
 
        CustomerList.DataContext = From cust In db.Customers _
                Where cust.Country = "USA" _
                                Select cust
 
    End Sub
End Class


今回は表示にListViewを使いましたので、実行結果は下記のような表示となります。