2010でPOCOによるエンティティ・クラスを作成してみよう。Framework依存のエンティティ・クラス定義の削除まず、本連載でこれまでに使用してきたEDM(エンティティ・データ・モデル)であるAddressBook.edmxファイルから、自動生成されたエンティティ・クラスを削除しよう。Studioのコード・エディタで開き、図2のように[プロパティ]ウィンドウで[コード生成方法]を「既定」から「なし」に変更する。Framework依存のエンティティ・クラス定義は削除される。EDMの[プロパティ]ウィンドウ[コード生成方法]を「既定」から「なし」に変更する。次に、POCOによるエンティティ・クラスを実装しよう。Generator)をインストールすることで、EDMからPOCOによるエンティティ・クラスを自動生成できる。手動でエンティティ・クラスを実装することも可能であるが、省力化のためEDMからの自動生成を推奨しておく。Modelツール上で右クリックし、図3のように[コード生成項目の追加]を選択する。Modelツール上で右クリックすると表示されるメニュー。表示された[新しい項目の追加]ダイアログ(図4)では、EDMからコードを生成する方法を選択できる。Generator」の項目をダブルクリックしてインストールする。C#、VBで別々の拡張機能となっているが、機能などはほぼ同等であるため、以降のキャプチャ画面はC#版のみを掲載する。Generator」をインストールする。テンプレート]をクリックすると、ランク順で最上位に表示されていたが、個別に探す場合には、左側の[テンプレート]−[データベース]を選択することで、目的の拡張機能にたどり着けるだろう。インストール中に図5のような確認画面が表示される場合には、[インストール]ボタンをクリックして進んでいこう。拡張機能のインストールの際に表示される確認画面(C#版)■生成されたPOCOによるエンティティ・クラスの確認インストール完了後、ダイアログの[追加]ボタンでPOCOによるエンティティ・クラスを生成することができる。ソリューション・エクスプローラを確認すると、図7のように「Model1.context.tt」と「Model1.tt」というファイルの下に、エンティティ・クラスおよびオブジェクト・コンテキストが生成されているのが分かる。GeneratorによるEDMからのコード生成の際に、エンティティ・クラスだけでなく、Model1.ttなどの「.tt」拡張子を持ったファイルが生成されている。Studioの持つテンプレート機能を用いたテンプレート定義ファイルである。それぞれのファイルには、C#、VBのコードを生成するためのテンプレートが記述されており、それに沿ってEDMからのコード生成が行われている。T4の詳細については、MSDNなどの情報源を参考にしてほしい。Frameworkのクラスに関連するコードが存在しない、POCOであることが確認できる。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。