【问题标题】:One connectionstring for SimpleMembershipSimpleMembership 的一个连接字符串
【发布时间】:2013-01-05 22:01:56
【问题描述】:

我有一个 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 连接字符串。

【问题讨论】:

  • 我在这段代码中找不到任何特别令人担忧的地方。
  • 这可能会有所帮助,stackoverflow.com/questions/12575311/…
  • 是的,我认为这回答了我的问题,如果您想将其发布为答案

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


【解决方案1】:

嗯,轮到我提问了:谁是老大? :-)

您不必接受默认设置,除非它们确实符合您想要执行的操作。

我不明白为什么你需要有 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; }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-15
    • 2013-05-15
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2011-06-17
    相关资源
    最近更新 更多