しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Windows ランタイムアプリで Entity Framework を利用する場合モデルファーストが利用できなかった

Windows ランタイムアプリでは DB に直接接続できないので Web API を経由して接続するなどの工夫が必要です

そこで便利なのが概念モデル設計から DAO 実装まで一気にできる Entity Framework(以降 EF) ・・・というわけで実際に EF を利用する場合どうなるかお試し

f:id:matatabi_ux:20140525234950p:plain

ASP.NET の Web API プロジェクトを作成し、「ASP.NET Entity Data Model」を追加、概念モデルを作成して「コード生成項目の追加」から EF 6.x DbContext ジェネレーターを追加すると

f:id:matatabi_ux:20140526000837p:plain

ポコっと POCO がポコポコできました!これを Windows アプリのプロジェクトから参照すれば・・・っと思いましたができませんでした;

Windows ランタイムアプリから Web API プロジェクトは参照できない・・・ならば Web API から PCL プロジェクトを参照させて PCL プロジェクトで Entity Framework のモデル生成をすればっ!

f:id:matatabi_ux:20140526000354p:plain

うん、知ってた!

・・・やはり PCL では EF は利用できませんでした

結局 Windows ランタイムアプリをからめて EF を利用する場合は、デザイナからコードを生成するモデルファーストは無理そうです

何らかの形で POCO エンティティを PCL に作り、コードファーストで EF を利用するしかなさそうですね;