2013/06/07

C#製の簡易O/Rマッパー PetaPoco を試してみる

PetaPoco

PetaPoco .NETの簡易O/Rマッパー。

とりあえずPostgreSQLで試してみる。 Getting Started With PetaPoco and Postgres

環境

  • Windows XP SP3
  • .Net Framework 4
  • PostgreSQL 8.4

プログラム作成手順

Databaseの準備

  • server: localhost
  • database: petapoco
  • owner: postgres

Visual Studioでコーディング

プロジェクト作成

コンソールアプリケーションのプロジェクトを作成

  • 名前: PetaPocoTest

NuGet Package追加

NuGetすごい便利。
以下のパッケージを追加

  • PetaPoco.CORE
  • Npgsql
  • log4net

PetaPocoを追加すると、勝手にModelsフォルダが生成される。

POCOクラスの作成

いわゆるModel Class。
usersテーブルに合わせて以下のように作成

主キーが複数の場合は [PetaPoco.PrimaryKey("key1,key2")]

PetaPocoに管理させたくないプロパティには [PetaPoco.Ignore]

DataManagerクラスの作成

Databaseに接続し、PetaPocoを使用してデータを取得するクラス。

コンストラクタ

DbProviderFactoriesの指定は app.config にも書けるけど、記述が面倒なので引数で渡した。

GetUserBySystemIdメソッド

PetaPoco.Sql.BuilderにてSQLを組み立て。
きっと引数とかはちゃんとエスケープしてくれるのだろう。

テーブル作成時にキチンと指定していないけど、 system_idはユニークな想定なので、Fetchで返されたListの先頭を取得している。

Program.cs

Databaseからuserを取得し、名前をログに出力。

あたりまえだが、実際には GetUserBySystemId から返ってきた値が null かどうかチェックしないといけない。


参考

0 件のコメント:

コメントを投稿