如何从Host SQL Server更新本地EDModel?

时间:2013-11-14 07:43:03

标签: c# sql-server asp.net-mvc visual-studio-2012

我正在使用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=&quot;data source=HOSTSQLServeraddress;Persist Security Info=True;Initial Catalog=bokningslistan; User Id=*****;Password=*****;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient"

xdt:Transform="Replace" xdt:Locator="Match(name)" />

</connectionStrings>

 <system.web>

  <compilation xdt:Transform="RemoveAttributes(debug)" />

</system.web>

</configuration>

1 个答案:

答案 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。然后再试一次。 (它将允许您选择/创建新的连接字符串)