0

EF を使用する ASP.Net MVC プロジェクトがあります。このアプリケーションは、職場のコンピューターと自宅のコンピューターで開発しています。以下は私のWeb.configにあります。各オフィスの適切な接続文字列を使用して EDMX を変更するにはどうすればよいですか? これまでのところ、EDMX を削除して再度追加し、他の接続文字列をコメントアウトする必要があります。ありがとう。

    <connectionStrings>
    <clear/>
    <!-- At Home connections -->
    <add name="App1Entities" connectionString="metadata=res://*/Models.App1Model.csdl|res://*/Models.App1Model.ssdl|res://*/Models.App1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=my-pc\SqlExpress;initial catalog=App1Database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="Service1Entities" connectionString="metadata=res://*/Models.Service1Model.csdl|res://*/Models.Service1Model.ssdl|res://*/Models.Service1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=my-pc\SqlExpress;initial catalog=ServiceDatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

    <!-- At Work connections 
    <add name="App1Entities" connectionString="metadata=res://*/Models.App1Model.csdl|res://*/Models.App1Model.ssdl|res://*/Models.App1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=sqlServer1;initial catalog=App1Database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="Service1Entities" connectionString="metadata=res://*/Models.Service1Model.csdl|res://*/Models.Service1Model.ssdl|res://*/Models.Service1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=sqlServer2;initial catalog=ServiceDatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    -->
</connectionStrings>
4

3 に答える 3

1

スキーマが2つのデータベースで同じであると仮定すると、web.configの接続文字列を置き換えるだけで済みます。だから私はあなたの混乱が何であるかを本当に理解していません。

于 2012-10-11T05:28:16.740 に答える
0

Visual Studio では、Config Tranformsを使用して、Configuration Manager で選択されたモード ("Release" と "Debug" が既定で設定され、他を追加できます) に基づいてさまざまな構成設定を生成できます。

接続文字列の変換を設定すると、サイトをリリース モードに発行すると、正しい接続文字列がそこに表示されます。

自宅の環境に応じた適切な接続文字列を使用して、「ホーム」などのモードを追加します。

于 2012-10-11T05:42:22.483 に答える
0

複数の接続文字列が必要ですが、コードにスイッチを入れる必要はありません。使用する

<connectionStrings configSource="MyLocalConnectionStrings.config" />

MSDN を参照

MyLocalConnectionStrings.config を web.config と同じディレクトリに維持し、開発環境ごとに異なるバージョンを用意する必要があります。

于 2012-10-11T05:45:05.647 に答える