0

私はVS2012でMS SQLサーバーを使用してASP.NET MVC、Entity Frameworkで予約システムを開発しています

ページを Web ホストと SQL Server にデプロイしましたが、正常に動作しています。

私は上場し、システムの開発を続け、SQL サーバー ファイルを更新するために、SQL サーバー管理スタジオを使用して新しいテーブルを作成します。

ホスト SQL サーバーにいくつかの新しいテーブルを追加したようですが、ローカル EDModel はまだ新しい変更で更新されていないため、「データベースからモデルを更新」する必要があります。

私の考えは、ローカルのaspファイルをデバッグするがホストSQLに接続する新しいweb.configファイルを作成することです。そのため、更新を行うことはできますが、機能しません.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 データベースを最初に使用していると思います。

[名前].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を参照してください。

注: ホスト SQL Server で TCP/IP が既に有効になっていることを確認してください。

次に、Model1.edmx ファイルをダブルクリック => Model1.edmx[Diagram1] を右クリック => [データベースからモデルを更新] を選択します。

テーブルがホスト SQL データベースにあるかどうかを更新ウィザードで確認してください。

まだローカル SQL データベースを使用している場合は、web.config ファイルで接続文字列を削除してみてください。その後、もう一度やり直してください。(新しい接続文字列を選択/作成できます)

于 2013-11-18T12:18:39.783 に答える