2014-12-12 1 views
0

Я создал веб-сайт mvc5 asp.net, который подключается к базе данных sql-сервера. Похоже, когда я регистрирую пользователя через этот сайт, пользователь создается в базе данных под названием DefaultConnection, которая находится в папке C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS \ MSSQL \ DATA.MVC 5, данные ASP.net хранятся в тайном месте

Но мой файл конфигурации не указывает на это. Мой файл конфигурации указывает на соответствующую базу данных на определенном сервере. Также мое соединение имеет другое имя, например

<connectionStrings><add name="TestEntities".... 

И когда я запускаю свой сайт, он правильно выводит информацию из этой базы данных. Проблема заключается только в том, что я регистрирую пользователя.

ответ

0

Поставщик членства не знает, использовать строку подключения с именем TestEntities, по умолчанию использует строку подключения с именем «DefaultConnection» и, по-видимому, имеет резервную копию в случае отсутствия. (см это, чтобы быть более точным: ASP.NET Configuration File Hierarchy and Inheritance)

Вы можете:

  1. изменить ваше имя соединения строки DefaultConnection
  2. скопировать строку соединения и назвать копию DefaultConnection
  3. переопределения соединения имя строки, используемое Entity Framework под капотом, используя приведенную ниже конфигурацию. Я считаю, что вы также можете переопределить имя строки подключения, используемое для создания собственного DBContext.

Лично я бы с вариантом 2, обеспечивает гибкость, если вы хотите, чтобы переместить пользовательские таблицы к отдельной базе данных.

+0

Спасибо, я попробовал вариант 2, и он решил проблему. – ary