我正在使用VS2012中的ASP.NET MVC,带有MS SQL服务器的实体框架开发预订系统
我在Web主机和SQL Server上部署了页面,它运行正常。
我将上市,我将继续开发系统,更新SQL服务器文件,我将使用SQL Server管理工作室创建新表。
就像我已经向Host SQL服务器添加了一些新表,然后本地EDModel尚未使用新的更改进行更新,然后我必须“从数据库更新模型”
我的想法是创建一个新的web.config文件来调试本地的asp文件,但是连接到Host SQL,所以我可以进行更新,但它不起作用,visual studio仍然使用localDB调试。
如何从Host SQL Server更新本地EDModel?
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="ConnectionStringSQL" connectionString="Data Source=HOSTSQLServeraddress;
Initial Catalog=bokningslistan;Persist Security Info=True;User Id=*****;
Password=*****;" providerName="System.Data.OleDb"
xdt:Transform="Replace" xdt:Locator="Match(name)" />
<add name="BokningslistanV3Entities" connectionString="metadata=res://*/Bokningslistan_EDModel.csdl|res://*/Bokningslistan_EDModel.ssdl|res://*/Bokningslistan_EDModel.msl;provider=System.Data.SqlClient;provider connection string="data source=HOSTSQLServeraddress;Persist Security Info=True;Initial Catalog=bokningslistan; User Id=*****;Password=*****;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient"
xdt:Transform="Replace" xdt:Locator="Match(name)" />
</connectionStrings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
答案 0 :(得分:0)
根据您的描述,我认为您首先使用的是EF DataBase。
请检查[Name] .Context.cs文件中的connectionstring name的值。 (例如Model1.Context.cs)
例如:
public MessageInfoEntities()
: base("name=MessageInfoEntities")
{
}
之后,请修改连接字符串值,例如:
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;
Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
更多信息,请参阅:connectionstrings-sql-server
注意:确保已在Host SQL Server中启用TCP / IP。
接下来,双击Model1.edmx文件=&gt;右键单击Model1.edmx [Diagram1] =&gt;从数据库中选择更新模型。
请检查更新向导中的表是否在主机sql数据库中。
如果仍然使用本地sql数据库,请尝试删除web.config文件中的connectionstring。然后再试一次。 (它将允许您选择/创建新的连接字符串)