我正在使用ASP .NET开发一个大型MVC Web应用程序。 我把它作为数据库优先,而不是代码优先。
通过使用个人用户帐户身份验证创建Web应用程序,它为它创建模型,视图,控制器和数据库,这是非常好的
但我想更改迁移以在云中使用托管数据库。我尝试更改[base("DefaultConnection",...)]
中的IdentityModel.cs
以使用托管数据库,我还尝试对Web.config
这不是个好主意! :d
拜托,帮助我!
答案 0 :(得分:1)
您只需要搜索" DefaultConnection" Web.config文件中的ConnectionString,将其替换为远程服务器的信息,并且应足以连接到托管数据库。
它应该是这样的:
<add name="DefaultConnection" connectionString="data source=**YourServer**;initial catalog=**YourDatabaseName**;user id=**DatabaseUsername**;password=**DatabasePassword**" providerName="System.Data.SqlClient" />
答案 1 :(得分:0)
我像你一样从事一个项目。我正在使用Database First Approach。使用单个用户身份验证创建项目后,您需要将这些用户表传输到数据库。您可以使用模式比较执行此操作。
在SQL Server Object Explorer
&gt;找到包含用户表的localdb&gt;右键单击&gt; Schema Compare
然后选择目标(您的数据库)并点击右上角的Compare
。
选择要传输到数据库的表格。
执行此编辑Web.config
文件后:
<add name="DefaultConnection" connectionString="Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" />
(此connectionString是使用项目提供的默认模型,控制器和操作。如果要为用户操作创建自己的函数,只需在传输表后添加以下行。)
此处,提供商名称很重要。没有机会。此连接字符串用于用户操作。
然后添加ADO.NET实体数据模型以使用具有实体框架的其他表
<add name="YourEntityName" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=YourServerNameL;initial catalog=YourDBName;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
providerName
在这里也很重要。
答案 2 :(得分:0)
我将ado.net添加到(模型文件夹)
将我的新连接字符串更改为“ DefaultConnection”
在Dbcontext“ my ado.net”中更改为:base(“ DefaultConnection”)