Пытаетесь развернуть приложение Entity Framework Code First без особой удачи?Лучшая стратегия развертывания? - PullRequest
2 голосов
/ 08 октября 2011

Несмотря на некоторые икоты и несколько обходных путей, мое приложение Entity Framework (Code First) на основе MVC теперь завершено и готово к развертыванию.

Изначально я пытался разрабатывать с помощью SQL Express, однако я без остановкипроблемы с подходом Code First как Я спросил здесь , что сделало его полностью неработоспособным.

Итак, в конце концов, я разработал его, следуя большинству рекомендаций, и использовал SQL Compact Edition.Это было совершенно блестяще для разработки, но теперь дело дошло до развертывания, и я застрял.

Я видел, как некоторые люди говорили о создании схемы из файла .SDF, однако есть различия иограничения в редакции Compact, такие как nvarchar, ограничены длиной 4000, и мне нужно max в моем приложении.

Итак, что я могу сделать?

Кроме того -но не обязательно - я собираюсь в ближайшее время перейти к следующему проекту, который будет включать в себя интенсивное использование элементов, которые необходимо хранить в базе данных длиной более 4000 символов.Существуют ли сейчас лучшие стратегии для разработки / Возможно ли использовать Code First с SQL Server Express или SQL Full (у меня есть MSDN и я готов установить / использовать все, что поможет).

Ответы [ 3 ]

2 голосов
/ 08 октября 2011

Вот мои неофициальные рекомендации:

  • SQL CE не является жизнеспособным вариантом для большинства производственных приложений, основанных на MVC (хотя я использовал его в производственных службах в редких случаях).
  • Я бы старался избегать переключения баз данных между разработкой и производством, т. Е. Не тестировать на SQL CE и не развертывать в SQL Express или чем-то еще.
  • Я никогда не пытался открыть MDF внутри Visual Studio - возможно, я неправильно понимаю, что вы здесь говорите, но в целом я бы рекомендовал использовать специальные инструменты SQL Server для управления базами данных: http://www.microsoft.com/download/en/search.aspx?q=sql+server+management+studio+express.
  • Что касается другого поста, я бы вообще не рекомендовал использовать часть строк подключения AttachDBFilename, если это не требуется для конкретной цели.
  • Похоже, вы можете просмотреть доступные стратегии инициализации базы данных: http://blog.oneunicorn.com/2011/03/31/configuring-database-initializers-in-a-config-file/.
  • В нашем блоге и на сайте MSDN MVC есть множество пошаговых руководств - если они не работают, вы можете обратиться к нам из нашего блога и оставить отзыв о том, что мы можем сделать лучше!

Наш блог: http://blogs.msdn.com/b/adonet/ Прохождение MVC: http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs

1 голос
/ 08 октября 2011

Вам необходимо создать файл отладки и специфичный для выпуска web.config файл:

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

  • В специальном файле отладки вы сохраняете строку подключения.

Однако я бы посоветовал вам не использовать строку подключения и использовать управление SQLСтудия вместо.Учитывая, что Compact Edition не поддерживает ваши требования, самое время переключиться ...

1 голос
/ 08 октября 2011

С одной стороны, в отношении развертывания / миграции вы можете взглянуть на http://exportsqlce.codeplex.com

С другой стороны, я проверял Электронная документация по Microsoft SQL Server Compact 4.0 и в принципе нет известных проблем с типами данных, хотя ограничение, упомянутое вами для nvarchar, подтверждено.

Наконец, чтобы разработать стратегию, которую выможет показаться интересным различия между SQL Server Compact и SQL Server

...