Ошибка создания базы данных с кодом EF сначала в Azure - PullRequest
3 голосов
/ 10 августа 2011

Я получаю недопустимое имя объекта, когда пытаюсь сначала использовать код инфраструктуры сущностей в базе данных Azure.Это проект MVC 3, в котором я создал модель, затем контроллеры, используя EF и новый контекст.Вот список шагов, которые я предпринял, чтобы решить эту проблему.Я надеюсь, что упускаю что-то очевидное.

  1. Загрузить VS 2010 SP1
  2. Загрузить EF 4.1
  3. настроить исключение брандмауэра в Azure для моего внешнего IP.
  4. установить строку подключения, показанную в Azure, в моем Web.config
  5. Выключите брандмауэр, чтобы исключить это.

Кажется, что страница индекса пытаетсячтобы отозвать результаты, но решение не создает базу данных, как следует, поэтому базы данных нет, и я получаю ошибку при выполнении определения команды.Кто-нибудь?

Ответы [ 2 ]

5 голосов
/ 11 августа 2011

Мы обнаружили, что важно, чтобы база данных SQL Azure еще не существовала. Сначала код EF потерпит неудачу, даже если у нас будет полностью пустая база данных.

Попробуйте позволить EF создать базу данных с нуля.

1 голос
/ 11 августа 2011

Есть несколько вещей, которые вы можете попробовать. Чтобы убедиться, что вы можете создать базу данных, очевидно, что для входа в систему необходим доступ к базе данных master, а PersistSecurityInfo должен иметь значение True в строке подключения:

(внизу) http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/1e828c99-66a9-4094-87ec-e799bd619463

Во-вторых, вы должны указать приложению создать базу данных, если она еще не существует. Внутри вашего метода Application_Start в Globals.asax.cs попробуйте этот маленький фрагмент:

using System.Data.Entity;
...
...
protected void Application_Start() {
   Database.SetInitializer<Models.FunContext>(new CreateDatabaseIfNotExists<Models.FunContext>());
}

Надеюсь, это поможет, удачного кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...