我在代码优先样式中使用 EF4.1 来为 SQL Azure DB“MyAppsDB”中的基于 ASP.NET MVC 3 的小型 webapp 保留 POCO 对象。当这些表不存在时,它们会在 MyAppsDB 中自动创建。我想在 SQL Azure 上托管应用程序,但我不想为额外的 1GB 数据库支付 10 美元/月来存储 50MB 的会话状态,并且使用缓存会更加昂贵。
我想将会话状态与我的应用程序模型一起存储在 MyAppDB 中。有没有办法做到这一点?如果会话表不存在,我可以自动创建它吗,与 EF 代码优先模型相同吗?
我试过修改我的 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 会抱怨数据库元数据不符合其预期。