クリーンな MVC 3 プロジェクトがあり、セキュリティ アカウントに SqlCe メンバーシップ プロバイダーを使用しています。
接続文字列でメンバーシップ プロバイダーとエンティティ フレームワークが同じ「データベース」を使用するように指定すると、EF Code First モデルでテーブルが見つからないというエラーが発生します。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCE.4.0" />
<add name="SqlDbContext" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCE.4.0" />
</connectionStrings>
ただし、別のデータベース名を指定すると、完全に機能しますが、2 つの別個の SDF ファイルが作成されます。次の接続文字列が機能します。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=|DataDirectory|aspnet.sdf" providerName="System.Data.SqlServerCE.4.0" />
<add name="SqlDbContext" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCE.4.0" />
</connectionStrings>
2 つの個別の SDF テーブルを指定した場合にのみ機能するのはなぜですか? また、単一の SDF データベースをメンバーシップ プロバイダーと ef モデルに利用するにはどうすればよいでしょうか?