EF4.1をコードファーストスタイルで使用して、SQL AzureDB'MyAppsDB'で小さなASP.NETMVC3ベースのWebアプリのPOCOオブジェクトを永続化します。テーブルが存在しない場合、テーブルはMyAppsDBに自動的に作成されます。SQL Azureでアプリをホストしたいのですが、50MBのセッション状態を格納するために1GBのDBを追加するために月額$ 10を支払いたくないので、キャッシュを使用するとさらにコストがかかります。
アプリのモデルと一緒にセッション状態をMyAppDBに保存したいと思います。これを行う方法はありますか?EFコードファーストモデルと同じように、Sessionテーブルが存在しない場合に自動作成することはできますか?
web.configを次のように変更してみました。
<sessionState mode="Custom" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="MyAppDBContext" applicationName="/" />
</providers>
</sessionState>
しかし、セッションテーブルが存在しないと文句を言います。セッションテーブルを作成すると、EF4.1はDBメタデータが期待と一致しないと文句を言います。