SimpleMembership的一个连接字符串

时间:2013-01-22 15:50:39

标签: asp.net entity-framework web-config connection-string simplemembership

我有一个ASP.NET MVC 4 Web应用程序,我在web.config中定义了连接字符串。我正在使用SimpleMembership,默认情况下我想使用名为DefaultConnection的连接字符串

我也使用EntityFramework 5访问同一个数据库并存储我的应用数据。我的EntityFramework上下文称为AppContext。因此,我的上下文默认使用名为AppContext的连接字符串。

我目前的解决方案是定义两个连接字符串:

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

这里常用的解决方案是什么?我假设这是一种常见的情况,人们要么覆盖EntityFramework连接字符串的默认名称,要么覆盖SimpleMembership连接字符串。

1 个答案:

答案 0 :(得分:0)

嗯,轮到我有一个问题:谁是老板? : - )

您不必接受默认设置,除非它们与您想要的内容完全匹配。

我不明白为什么你需要有两个完全相同的连接字符串到同一个数据库!我相信它可以这样工作,但是让任何一个使用另一个连接字符串并不是什么大问题。例如,默认情况下,在AccountModels中,我有:

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

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

我只需要更改&#34; DefaultConnection&#34; to&#34; AppContext&#34;在那里使用与实体框架相同的连接字符串使SimpleMembership:

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

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