我有一个干净的 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>
但是,如果我指定不同的数据库名称,那么我会完美地工作 - 尽管它会创建两个单独的 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>
为什么它只在我指定两个单独的 SDF 表时才有效?以及如何将单个 SDF 数据库用于会员提供者和 ef 模型?