0

我正在 ASP.NET MVC 中开发一个预订系统,在 VS2012 中使用 MS SQL 服务器的实体框架

我在 Web 主机和 SQL Server 上部署了 Pages,它工作正常。

我将上市,我将继续开发系统,更新 SQL 服务器文件,我将使用 SQL 服务器管理工​​作室创建新表。

就像我向主机 SQL 服务器添加了一些新表,然后本地 EDModel 尚未使用新更改进行更新,然后我必须执行“从数据库更新模型”

我的想法是制作一个新的 web.config 文件来调试本地 asp 文件但连接到主机 SQL,所以我可以进行更新但它不起作用,Visual Studio 仍然使用 localDB 调试。

如何从主机 SQL 服务器更新本地 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>
4

1 回答 1

0

根据您的描述,我认为您首先使用的是 EF 数据库。

请检查 [Name].Context.cs 文件中连接字符串名称的值。(例如 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 文件=>右键单击 Model1.edmx[Diagram1]=>从数据库中选择更新模型。

请检查更新向导中的表是否在主机 sql 数据库中。

如果仍然使用本地sql数据库,请尝试删除web.config文件中的连接字符串。然后再试一次。(它将让您选择/创建新的连接字符串)

于 2013-11-18T12:18:39.783 回答