SQLCE 4.0とEFコードファーストを使用する準備
プレゼンテーション層を作成する前に、SQLCE 4.0とEFコードファーストによるデータベース自動生成の準備をしましょう。
[1]Web.configを編集する
まずは、SQLCE 4.0を使うため、Web.configに以下の記述を追記します。
<connectionStrings> <!-- (1) --> <add name="MRRSContext" connectionString="Data Source=|DataDirectory|MRRS.sdf" providerName="System.Data.SqlServerCe.4.0"/> </connectionStrings> <!-- (2) --> <system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0"/> <add name="Microsoft SQL Server Compact Edition Client Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact Edition Client 4.0" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> </system.data>
(1)接続文字列を追加する
connectionStringsセクションに、リスト1 (2)で説明した接続文字列名と同じ名前でSQLCE 4.0の接続文字列を追加します。
(2)DbProviderFactoryを追加する
system.dataセクションを新たに追加し、SQLCE 4.0用のDbProviderFactoryを追加します。
[2]EFコードファーストによるデータベースのイニシャライザーについて記述する
次に、Grobal.asaxを開き、Appliation_Startイベントハンドラーに、EFコードファーストでDBを自動作成するためのイニシャライザーの記述を追加します。
void Application_Start(object sender, EventArgs e) { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MRRSContext>()); }
この例では、モデル、つまり前回作成したPOCOエンティティが変わったら、データベースを作成し直すよう設定しています。