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エンティティが変わったら、データベースを作成し直すよう設定しています。
