2

現在、Entity Framework と SimpleMembership を使用している場合、2 つの接続文字列が必要web.configです。

1 つ目は呼び出し時に使用されWebSecurity.InitializeDatabaseConnection、単純な接続文字列です。もう 1 つは edmx 用で、ファイル参照と接続文字列情報が含まれています。これは、接続文字列情報がファイルに 2 回含まれていることを意味します。

情報が重複するだけでなく、azure(未確認)を使用すると問題になる可能性があると思います。

これを 1 つの接続文字列に減らして、edmx 用に 1 つだけ保持する方法はありますか。単に EF を WebSecurity 初期化メソッドに渡すだけでは機能しません。

4

1 に答える 1

4

はい、両方に同じ接続文字列を使用できます。違いは、edmx の接続文字列にモデルの追加のメタデータが含まれていることです。

最善の策は、edmx 接続文字列を取得し、それをEntityConnectionStringBuilderで解析することです。

var builder = new EntityConnectionStringBuilder(entityConnectionString);
string sqlConnString = builder.ConnectionString;

次に、その接続文字列で SimpleMembershipProvider を初期化します

WebSecurity.InitializeDatabaseConnection(sqlConnString, "User", "UserId", "UserName", autoCreateTables: true);
于 2013-06-08T15:23:51.677 に答える