モデルからデータベースを生成
次に、VS2008ではできなかったモデルからデータベースの生成機能を確認してみましょう。ここでは、bookオブジェクトにプロパティ(bookName)を追加した状態のモデルからデータベースを生成する例をとりあげてみます(図17)。
メニューバーの「表示」→「その他のウィンドウ」から「Entity Data Modelブラウザー」を選択し、モデルブラウザー上で右クリックをし、モデルからデータベースを生成を選択します(図18)。
すると、データベース生成ウィザードが立ち上がるので、[完了]をクリックします。ここで、モデルブラウザーで表示されていたモデルからデータベースに変換されるSQLが発行されます(図19)。
次にメニューバー上のSQLの実行アイコンをクリックすると、データベースが作成されます(図20)。
この機能によりデータベースが存在することが前提だった開発手法から、Entityを定義後に必要なデーターベースを生成する、トップダウン型の開発が可能になります。
ComplexTypeの設定
最後はデザイナ上からのComplexTypeの設定方法です。
ComplexType(複合型)とはエンティティ内で整理するための仕組みで、エンティティと同様にスカラプロパティまたは他の複合型プロパティで構成されています。
こちらもVS2008では複数のXMLファイルの手動修正が必要な部分で、手間のかかる部分でした。今回は図15にあったEmployeeオブジェクトのFirstNameとLastNameをNameという名称でComplexType設定をしてみます。ソリューションエクスプローラでModel1.edmxをダブルクリックし、Model1.edmxを開きます。次にEmployeeオブジェクトのデザイナー上で[Shift]キーを押しながらFirstNameとLastNameを選択し、右クリックをして「新しい複合型へのリファクター」をクリックすると、FirstNameとLastNameプロパティがComplexTypeに変更されたことが確認できます(図21)。
また、モデルブラウザー上の複合型フォルダの下に追加されたことが確認できます。ここでは、右クリックして、名前の変更から名称をNameに変更してみました(図22)。
まとめ
本稿では「Visual Studio 2010」ベータ2によって、Silverlightアプリケーションの開発を開始するのが容易になったこと、Windows 7の開発にも対応している点、そして、ADO.NET Entity Frameworkの機能強化について、簡単な例を交えながら説明しました。製品版開始の前にベータ版をインストールし、ぜひこれらの機能を実際に触ってみてください。