<сильный>1. Если я создаю новый проект MVC, он имеет строку подключения по умолчанию:
< add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial
Catalog=aspnet-OneVeryBad.Web-20130301153805;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OneVeryBad.Web-20130301153805.mdf"
providerName="System.Data.SqlClient" />
<сильный>2. Я создаю свой контекст, наследуемый от DbContext :
public class BadContext : DbContext
{
public BadContext() : base("BadContext")
{
}
/* DbSets */
}
<сильный>3. Измените имя строки подключения на BadContext для работы с EF:
< add name="BadContext" connectionString="Data Source=(LocalDb)\v11.0;Initial
Catalog=aspnet-OneVeryBad.Web-20130301153805;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OneVeryBad.Web-
20130301153805.mdf" providerName="System.Data.SqlClient" />
Теперь я успешно могу сохранять данные в LocalDb, но не могу регистрировать пользователей:
Разрешение CREATE DATABASE отклонено в базе данных «master». Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: разрешение CREATE DATABASE отклонено в базе данных «master».
если я не изменю строку подключения обратно на исходную:
‹ добавить name="DefaultConnection" ...
Я вижу свои таблицы контекста и таблицы членства в локальной базе данных через проводник сервера VS. Но не может заставить членство работать со строкой подключения EF. Как я могу это решить? Изначально я хочу хранить все таблицы в localdb, чтобы они всегда были со мной в проекте, куда бы я ни пошел.