Одна строка подключения для 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; }
}