2

ASP.NET MVC 4 Web アプリがあり、web.config. デフォルトで名前の接続文字列を使用したいSimpleMembershipを使用していますDefaultConnection

EntityFramework 5また、同じデータベースにアクセスしてアプリ データを保存するためにも使用しています。私のEntityFrameworkコンテキストは と呼ばれAppContextます。したがって、私のコンテキストでは、デフォルトで名前の接続文字列を使用したいと考えていますAppContext

私の現在の解決策は、2 つの接続文字列を定義することです。

<add name="DefaultConnection" connectionString="REMOVED" providerName="System.Data.SqlClient" />
<add name="AppContext" connectionString="REMOVED" providerName="System.Data.SqlClient" />

ここで一般的に使用されるソリューションは何ですか? これは一般的なシナリオであり、人々は EntityFramework 接続文字列または SimpleMembership 接続文字列の既定の名前を上書きしていると思います。

4

1 に答える 1

0

ええと、私の番です。質問があります。上司は誰ですか。:-)

あなたがやりたいことと実際に一致しない限り、デフォルト設定を受け入れる必要はありません。

同じデータベースに対して 2 つのまったく同じ接続文字列が必要な理由がわかりません。そのように機能すると確信していますが、どちらか一方が他方の接続文字列を使用することは大したことではありません。たとえば、AccountModels のデフォルトでは、次のようになっています。

public class UsersContext : DbContext
{
    public UsersContext()
        : base("DefaultConnection")
    {
    }

    public DbSet<UserProfile> UserProfiles { get; set; }
    public DbSet<webpages_Membership> Membership { get; set; }
}

そこで「DefaultConnection」を「AppContext」に変更して、Entity Framework と同じ接続文字列を使用する SimpleMembership を作成する必要があります。

public class UsersContext : DbContext
{
    public UsersContext()
        : base("AppContext")
    {
    }

    public DbSet<UserProfile> UserProfiles { get; set; }
    public DbSet<webpages_Membership> Membership { get; set; }
}
于 2013-09-30T15:25:20.933 に答える