Если вам не терпится разобраться с этим, просто перейдите к последнему абзацу.
Я совершенно новичок в MVC2 и мне было поручено создать приложение для управления базами данных с его помощью.,Потратив на это несколько недель, я наконец-то начал писать свой производственный код.Чтобы протестировать мой код, мне нужно иметь доступ к копии базы данных на сервере разработчиков.Когда пришло время выпускать релизную версию, она, очевидно, должна работать с действующей базой данных.
Изначально я создал две параллельные модели (используя структуру сущностей) базы данных обслуживания и просто изменилпространство имен другого - что-то вроде DevModels
, а не просто Models
, чтобы избежать столкновений имен (это точно такая же модель, просто разные источники).Это вызвало больше проблем, чем решило.В любом случае, просматривая книгу Pro ASP.NET MVC 2 Framework, у меня появилась блестящая идея просто изменить источник данных в файле Web.Config
.Таким образом, когда я публикую приложение, оно автоматически будет иметь правильный источник данных.Короче говоря, это не совсем сработало и вызвало больше проблем, чем решило.
В любом случае, я немного осмотрелся, но просто не могу ничего найти.Весь материал, который я нахожу, довольно неопределенный и оставляет меня более запутанным.Я уверен, что есть простой способ сделать это, поскольку он должен быть обычным делом.
Итак, в заключение, как мне написать приложение MVC2 один раз и иметь возможность использовать модель с различными источниками данных, такМне не нужно сильно изменять код, чтобы сделать рабочую версию моего приложения?
ОБНОВЛЕНИЕ: Вот строка подключения до и после ее изменения.Before = dev server
`metadata = res: ///Models.MaintModel.csdl | res: ///Models.MaintModel.ssdl | res: //*/Models.MaintModel.msl; provider = System.Data.SqlClient; строка подключения провайдера = 'Источник данных = EXP_POWERSUITE2; Начальный каталог = "Maint DatabaseSQL"; Интегрированная безопасность = True; MultipleActiveResultSets = True' "
` metadata = res:///Models.MaintModel.csdl|res:///Models.MaintModel.ssdl|res://*/Models.MaintModel.msl;provider=System.Data.SqlClient;provider строка подключения ='Источник данных = EXP_POWERSUITE; Начальный каталог = "Maint DatabaseSQL"; Интегрированная безопасность = True; MultipleActiveResultSets = True ""
Кроме того, чтобы убедиться, что у меня есть правильная строка подключения, я запустил новое приложение исделал новый EDM с теми же именами и всем, кроме ориентированных на живую базу данных.Я искал какие-то очевидные различия, но это было то же самое, что и у меня выше.
Кроме того, я могу получать и отображать строки из базы данных в моем приложении.Я просто не могу их добавить.
Я использую MS SQL Server Manager 2008 R2.