3

MVC 4 プロジェクトにエンティティがあり、接続文字列はエンティティ作成ウィザードによって web.config に配置されます。

これを変更し、実行時にパスワードを接続文字列 (web.config の外に格納されている) に割り当てる必要があります。

  1. web.config の外部の値を web.config の内部に格納されている文字列と組み合わせるにはどうすればよいですか?

  2. または、エンティティ接続を完全に web.config の外に移動できますか?

これは、既存のエンティティ接続文字列です。

add name="MyEntities" connectionString="metadata=res://*/Models.NewUsers.csdl|res://*/Models.NewUsers.ssdl|res://*/Models.NewUsers.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=mydb;initial catalog=MyDatabase;persist security info=True;user id=sa;password=Mypassword;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>
4

2 に答える 2

3

2の場合、作成時にいつでも新しいconnectionString(fromではなくweb.config)をコンテキストに直接渡すことができます。

string newCS = "add name=...";
var context = new MyEntities(newCS);

1の場合、EntityConnectionStringBuilderを使用して、既存のCSを解析するか、新しいCSを構築します。

于 2012-11-28T13:25:32.517 に答える
1

簡単な解決策は、以下に基づいたものを使用することです。

string con = ConfigurationManager.ConnectionStrings["PerinatalDataEntities"].
    ConnectionString;
con = con.replace("user id=sa", "user id=MyUser").
    Replace("password=Mypassword","password=MyNewpassword")

接続ビルダーもあると思いますが、使用したことはありません。

于 2012-11-28T13:21:36.063 に答える