【C#】PostgreSQLでEntityFrameworkの使用方法#3
前回の続きです。
「Plain Old CLR Object」の略。特別なクラスやインターフェイスの継承/実装を行っていないプレーンな.NETクラス(のオブジェクト)のこと
POCOによるエンティティ・クラス
とは言え手動で作成もしたくなかったので一時的にでも作成できないかいろいろ考えた結果としてdotConnect for PostgreSQLを使用してファイルの生成を行うことにしました。
dotConnect for PostgreSQLインストール
上のリンクからページに飛んで「dotConnect for PostgreSQL 7.4 Professional Trial」をダウンロードしてインストールして下さい。
ダウンロードしたファイルのインストールを行うと項目の追加で表示される項目に「Devart Entity Model」と「Devart LinqConnect Model」が追加されます。
こうして追加されたプロバイダからedmlを作成します。
edmlファイルの作成
ここの作業内容に関しては省略します。基本的にご自身の環境に合わせたサーバ情報やテーブル情報を選択もしくは入力するだけです。
※念のためですが生成されたedmlファイルをそのまま使用する事は出来ますが、30日超えると操作が出来なくなるので困った自体になります
edmlからPocoファイルの作成
ここからもう一手間が必要なんですがVisualStudioにはedmlファイルからクラスファイルを生成する機能があります。「EF 5x DbContext ジェネレータ」もしくは「EF 6x DbContext ジェネレータ」です。
こちらを使用してファイルの生成を行います。
追加を行うとttファイルが生成されたかと思いますがそちらの編集を行って実行をします。
編集箇所は「ファイル名.tt」の5行目箇所で
“で囲まれた部分を先ほど生成されたedmlファイルに変更して下さい。
const string inputFile = @"$edmxInputFile$";
//変更例 const string inputFile = @"model.edml";
変更を行ったら後はファイルの作成を行うだけです。
ttファイルを右クリックして「カスタムツールの実行」を選択して下さい。
やってみた感想
まずTrial版を使っているので当然30日で使えなくなります。その上やってみると感じるんですが結構面倒な作業です。それでも数十テーブルのファイルを手動で作成するよりは楽かもしれません。逆に言えば10テーブルとか数が少なかったら手でファイル作成した方が楽だと思いました。