Entity Framework 4 Генерация базы данных из модели в SQLEXPRESS mdf приводит к ошибке Не удалось найти запись в sysdatabases для базы данных

Я использую Visual Studio 2010 RTM. Я хочу сначала сделать модель, поэтому я запустил новое приложение MVC и добавил новый пустой файл edmx. Создал несколько сущностей. Без проблем. Затем я «Создаю базу данных из модели» и позволяю диалоговому окну создать новую базу данных для меня, что он успешно делает как «mydatabase.mdf» в каталоге App_Data приложения.

Затем я открываю сгенерированный файл sql (в Visual Studio). Чтобы запустить его, конечно, я должен дать ему соединение. Я не уверен, что это правильно, но я использовал '.\SQLEXPRESS' и аутентификацию Windows. Понятия не имею, как я скажу, где МДФ.

Тогда проблема - после ее выполнения я получаю:

Сообщение 911, уровень 16, состояние 1, строка 1. Не удалось найти запись в sysdatabases для базы данных «mydatabase». Записи с таким именем не найдены. Убедитесь, что имя введено правильно.

И действительно, в МДФ не создавались таблицы.

Итак ... что я делаю неправильно, или я не в себе, ожидая, что это сработает? :)


person InfinitiesLoop    schedule 15.06.2010    source источник
comment
Если он создает для вас базу данных в каталоге app_data, то почему вы открываете сгенерированный файл sql в VS? Почему бы не дважды щелкнуть базу данных в App_Data?   -  person Dave Mackey    schedule 18.06.2010
comment
Он только создает MDF как пустой. Мне нужно запустить сгенерированный SQL для создания таблиц, отношений и т. д. Создание MDF на самом деле не выполняется EF, я не думаю, что это просто часть процесса выбора «соединения» и предоставления ему нового имя БД, а не выбрать и существующее.   -  person InfinitiesLoop    schedule 18.06.2010
comment
Боюсь, я никогда не решал эту проблему...   -  person InfinitiesLoop    schedule 04.09.2010


Ответы (1)


Я столкнулся с той же проблемой. Мне не удалось заставить файл MDF в моей папке App_Data работать. На самом деле есть только одно надежное решение. Установите версию SQL Server 2005 или 2008 R2 для разработчиков и создайте базу данных на этом сервере. SQLEXPRESS вообще не работает с Entity Framework 4.0. У меня не было проблем с созданием базы данных ни с SQL Server 2005, ни с 2008R2 Developer Edition.

person wayne.blackmon    schedule 19.07.2011