次世代データアクセステクノロジー
第4回:ADO.NET Entity Frameworkによるデータアクセス実装方法
著者:マイクロソフト 小高 太郎
公開日:2008/1/28(月)
2つのクエリー手法
ADO.Net Entity Frameworkでは、Entity Data Modelとデータをやり取りする機能が提供されている。そのクエリー手法は「Entity Clientを使用する方法」と「Object Servicesを使用する方法」の2種類だ。まず今回は「Entity Clientを使用する方法」について解説していこう。
リスト1:Entity Clientを使用したプログラムの例
(画像をクリックすると別ウィンドウに拡大図を表示します)
Entity Clientの使用
Entity Clientは、Entity Data Modelにアクセスするための、.NETデータプロバイダである。
このEntity Clientは一般的なADO.NETプロバイダのクラスに非常によく似ており、ADO.NETを使われたことがある方なら使用に対して違和感はないはずだ。
EntityConnectionオブジェクトから接続を開き、EntityCommnadオブジェクトを使いクエリーの実行を可能にする。またEntityDataReaderオブジェクトと呼ばれる、従来のDataReader相当のオブジェクトを使用したデータの操作も可能である。
Entity Clientでは、Entity Data Modelを操作する言語として、Transaction-SQLによく似たEntity SQLが採用されている。これらを使用した簡単な例がリスト1である。
現状Entity SQLは、DMLクエリー(データの追加、更新、削除)やDDLクエリー(テーブルの作成など)が実行できないなど、いくつかの制限がある。これが正式リリースの段階でどのような実装になるのかは現状のところ未定であるが、とくにDMLクエリーに関しては何らかのアップデートが行われるであろう。
さて、次回はADO.Net Entity Frameworkで提供されているEntity Data Modelとデータをやり取りする機能「Object Servicesを使用する方法」ついて解説する。また実践的な内容として複数のテーブルを1つのエンティティタイプにマップする例とを、サンプルプログラムを交えて解説していく。