是否可以更改IdentityUser以使用SQL Server 2012数据库,而不是在创建新的ASP.NET Web应用程序时默认安装的localdb?
我有一个现有的SQL Server 2012数据库,我想与MVC 5项目一起使用,我可以在web配置中修改连接字符串,但是我得到错误“实体类型ApplicationUser不是模型的一部分对于当前的背景“。
我找不到任何对AspNetUsers的引用,因为我可以替换我的用户表。
我是否被迫修改现有的localdb并重写我之前的数据库以使用新的AspNet表结构,如果可以,那么数据库是否可以迁移并升级到SQL Server 2012?
非常感谢任何帮助: - )
答案 0 :(得分:1)
只需为您的项目启用迁移(假设VS2013 - 更新的版本不同,不需要为vNext启用迁移) 1.启用 - 迁移 2. Update-Database -Script -SourceMigration:$ InitialDatabase
这将生成您需要的脚本。
答案 1 :(得分:0)
通过关闭Visual Studio 2013并找到localDB的路径来解决这个问题,该路径是WebApplication1 \ App_Data,有两个文件aspnet-WebApplication1-20140430012043.mdf和aspnet-WebApplication1-20140430012043_log.ldf驻留在该文件夹中。
我修改了WebApplication1 \ App_Data的安全权限,以便SQL Server 2012在连接时没有问题。
然后我打开了Microsoft SQL Server Management Studio并继续附加数据库,一旦数据库附加到实例,我就备份了数据库。接下来,我删除了数据库并执行了恢复,这次按照项目重命名数据库并重新定位mdf和ldf文件。
然后我在Visual Studio 2013中打开了我的项目,并从:
修改了Web.config<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20140430012043.mdf;Initial Catalog=aspnet-WebApplication1-20140430012043;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
为:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=MYSERVER;Initial Catalog=WebApplication1;Integrated Security=True" providerName="System.Data.SqlClient" />
跑完项目,一切顺利。