Одна строка подключения для SimpleMembership

У меня есть веб-приложение ASP.NET MVC 4, и я определяю строки подключения в моем 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 ответ

Хм, моя очередь задавать вопрос: кто здесь хозяин?:-)

Вам не нужно принимать настройки по умолчанию, если они действительно не соответствуют тому, что ВЫ ХОТИТЕ делать.

Я не понимаю, почему вам нужно иметь 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", чтобы SimpleMembership использовал ту же строку подключения, что и Entity Framework:

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

    public DbSet<UserProfile> UserProfiles { get; set; }
    public DbSet<webpages_Membership> Membership { get; set; }
}
Другие вопросы по тегам