連載:ADO.NET Entity Framework入門第2回 EDMにおける多対多関係とEntity Frameworkでのデータの取得/保存WINGSプロジェクト 土井 毅 著/山田 祥寛 監修2010/07/09 |
|
|
Entity Frameworkでのデータ保存/取得サンプル
それでは、自動生成されたクラスを用いたサンプルを実装しよう。なお、Entity Frameworkでのデータのクエリについてはさまざまな方法があるため、詳細は次回説明することとし、今回はシンプルなデータ保存/取得について扱うものとする。
Program.csファイル(C#の場合)、Module1.vbファイル(VBの場合)を開き、それぞれリスト3のようにソース・コードを記述する。
| ||
リスト3 Entryエンティティの作成/保存とデータの取得 |
最初にAddressBookContainerクラスのインスタンスを作成する。以後の操作はオブジェクト・コンテキストとなるこのインスタンスを介して行う
データの新規作成は、Entryクラスのコンストラクタを呼び出して行う。データベースへの操作が、エンティティ・クラスの操作として実現されていることに注目
新規作成したエンティティ・クラスのインスタンスを、オブジェクト・コンテキストのAddToEntriesメソッドを使ってEntryエンティティの集合に追加し、SaveChangesメソッドを使って変更内容をデータベースに反映する*2
LINQ to Entities(詳細は次回)を用い、Entryエンティティをすべて取得する
foreachループ(For Eachループ)により、取得したEntryエンティティの値を表示する
*2 SaveChangesメソッドはEntity Frameworkで加えられた変更内容をデータベースに反映するメソッド。AddressBookContainerクラスでは定義されていないが、継承元のObjectContextクラスで定義されている |
リスト3の実行結果は図11のようになる。前半で保存したデータを、後半で取得して表示している。
図11 リスト3の実行結果 |
まとめ
ADO.NET Entity Framework入門の第2回として、EDMでの多対多関係の実現と、Entity Frameworkで自動生成されるクラスの詳細、そして短いながらも完結したデータ保存/取得サンプルを扱った。
特にアソシエーションについては、シンプルなO/Rマッパーとは異なる、Entity Frameworkの特徴的な機能に触れる部分となるので、理解を深めてほしい。
次回はEntity Frameworkを使ったクエリの詳細について紹介の予定である。
INDEX | ||
ADO.NET Entity Framework入門 | ||
第2回 EDMにおける多対多関係とEntity Frameworkでのデータの取得/保存 | ||
1.多対多関係の実現 | ||
2.EDMからデータベースの自動生成 | ||
3.Entity Frameworkで自動生成されるクラス | ||
4.Entity Frameworkでのデータ保存/取得サンプル | ||
「ADO.NET Entity Framework入門」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|