【发布时间】:2012-06-08 17:13:48
【问题描述】:
我有一个已构建的 ASP.NET MVC3 应用程序,它有两个数据库。
其中一个引用了默认成员资格提供程序,是在我构建应用程序时自动创建的。
另一个是我命名为 SchoolContext 的数据库,我希望将 SchoolContext 中的所有信息与 Default Membership Provider 中的所有数据存储在同一个数据库中。
这是我的两个连接字符串:
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="SchoolContext" connectionString="Data Source=|DataDirectory|School.sdf" providerName="System.Data.SqlServerCe.4.0" />
我尝试将ApplicationServices 重命名为SchoolContext,然后注释掉我的第二个连接字符串,我可以使用默认会员提供程序加载并“登录”就好了,但是每当我需要将数据库排队以获取以下信息时存储在原始SchoolContext 中,我收到错误消息,指出模型不存在等。 .并且数据不是在包含来自默认成员资格提供程序的信息的数据库中构建的。
如果模型发生变化,我将使用初始化程序来重建数据库:
public class SchoolInitializer : DropCreateDatabaseIfModelChanges<SchoolContext>
每当我在模型中编辑某些内容并且我正在使用两个数据库方案时,这都可以正常工作。但是,当我想将两个数据库合二为一时,它不起作用。
我显然不知道如何连接两个数据库,因为我试图做的事情不起作用,我应该如何正确设置 mvc 以将我的 SchoolContext 放入与默认会员所需信息相同的数据库中提供者?
【问题讨论】:
标签: asp.net-mvc-3 database-design asp.net-membership ef-code-first membership-provider