2015-05-13 3 views
5

Я пытаюсь работать с EF7 и ASP.NET MVC 6, но когда я пытаюсь работать с БД приходит следующие исключения:Entity Framework 7 и Войти не удалось

Не удается открыть базу данных «Сообщения» просил по логину. Ошибка входа в систему.

Ошибка входа для пользователя 'alexpc \ Alexandr'.

В классе DbContext я использую следующий код:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
{ 
    optionsBuilder.UseSqlServer(@"Data Source=alexpc;Database=Posts;Integrated security=True;"); 
} 

Похоже ConnectionString является правильным, где же может быть проблема?

+0

Когда для параметра «Интегрированная безопасность» установлено значение «Истина», он использует текущий идентификатор входа в систему для доступа к серверу sql. Это было «alexpc \ Alexandr» в вашей среде, и у него не было разрешения на доступ к sql. Либо измените строку подключения на использование имени sql, либо настройте SQL-сервер, чтобы разрешить «alexpc \ Alexandr» входить в систему. – Vince

+0

... Пользователь Windows У Alexandr нет прав на открытие подключения к базе данных Посты? – ken2k

+1

@ ken2k no, у Alexandr есть права на открытие подключения к базе данных Сообщения, я могу успешно подключиться к студию управления и инструментам визуальной студии, но не с ef. – neonhash

ответ

5

Проблема решена таким образом: выяснилось, что исключение «Логин не выполнен для пользователя» Имя пользователя «» поднято, когда до первого запуска миграция не была выполнена рукой. Он автоматически работал для «Code First» в EF6, но в EF7 эта функция отключена. Для выполнения миграции вам понадобится DNVM, который вы можете установить с помощью руководства с этой страницы: https://github.com/aspnet/home Затем вам нужно открыть командную строку и сменить каталог в своем проекте (где находится файл «project.json») и ввести следующие команды :

dnx . ef migration add 
dnx . ef migration apply 

Если вы все сделали правильно, папка «Миграция» должна появиться в вашем каталоге проектов. Теперь вы можете запустить свой проект без этого исключения!

+3

Я надеялся, что с новой версией будет легче сделать. Зачем использовать командные подсказки? Консоль менеджера пакетов работала просто отлично. – renakre

+0

не мог согласиться с более @renakre. это кажется запутанным. не говоря уже о том, что новые проекты из коробки не работают? – Keith

+0

@Keith Я пытался работать с ASP.NET 5 на 1 неделю, но потом сдался, много проблем! Думаю, разумно не создавать что-то с ним, пока не будет выпущена окончательная версия. – renakre

Смежные вопросы