Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在windows服务器上更新数据库?_.net_Visual Studio_Entity Framework_Iis_Database Migration - Fatal编程技术网

.net 如何在windows服务器上更新数据库?

.net 如何在windows服务器上更新数据库?,.net,visual-studio,entity-framework,iis,database-migration,.net,Visual Studio,Entity Framework,Iis,Database Migration,我想将我的更改部署到服务器,但由于我在数据库中做了一些更改,因此出现了一个错误 自创建数据库以来,支持“DbContext”上下文的模型已更改 我通过使用VisualStudio用户添加迁移和更新数据库中的包管理器控制台在本地解决了这个问题。我应该如何更新服务器上的数据库?我还将自动迁移添加到我的配置.cs,但这并不能解决这个问题 public Configuration() { AutomaticMigrationsEnabled = true;

我想将我的更改部署到服务器,但由于我在数据库中做了一些更改,因此出现了一个错误

自创建数据库以来,支持“DbContext”上下文的模型已更改

我通过使用VisualStudio用户
添加迁移
更新数据库
中的包管理器控制台在本地解决了这个问题。我应该如何更新服务器上的数据库?我还将自动迁移添加到我的
配置.cs
,但这并不能解决这个问题

 public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }

嗯。。。传统上,您必须对生产数据库运行updatedatabase命令。该命令的参数允许您指定指向特定数据库的连接字符串参数:

Update-Database -ConnectionString <String> -ConnectionProviderName <String> 
[<CommonParameters>]

提示:首先使用-Verbose和-Script参数以确保没有任何问题。这将只创建迁移SQL脚本,而不对数据库进行任何更改。然后,在不使用-Script参数的情况下调用相同的命令来提交更改

您能举个例子说明connectionString应该是什么样子吗?我不确定到底应该放什么。如果查看xml配置,在“connectionString”部分,您将看到具有属性“name”、“connectionString”和“providerName”的生产连接字符串(如果使用config Transfer,只需预览发布转换以查看更新生产连接)。然后,您可以使用这些字符串作为更新数据库命令的参数:例如:update database-ConnectionString“Data Source=MyDb;Initial Catalog=MyCatalog;Integrated Security=True”-ConnectionProviderName“System.Data.SqlClient”-Verbose-script当然,您可能需要将安全设置更新到特权数据库帐户。我仍在出错。我将'integratedsecurity'设置为False,并在连接字符串中添加用户名和passowrd:User Id=+username\ux;Password=\u Password\ux”。现在我发现一个错误,该错误找不到或无法访问。我已经使用SQL server management Studio检查了是否允许远程连接。这是我正在使用的命令:Update Database-ConnectionString“server=IP\SQLEXPRESS;数据库=DBNAME;Trusted_Connection=True;综合安全=假;用户Id=用户名;Password=Password-ConnectionProviderName System.Data.SQLClient-verboseOut
Trusted\u Connection=True
。然后是google sql server连接字符串。您是否已通过SSMS连接到数据库?
Update-Database -ConnectionString "Data Source=MyDb;Initial Catalog=MyCatalog;Integrated Security=True" -ConnectionProviderName "System.Data.SqlClient" -Verbose -Script