Несколько файлов конфигурации в разных библиотеках - PullRequest
0 голосов
/ 24 сентября 2010

Мое приложение ASP.NET MVC 2 использует Entity Framework 4.0 для модели данных. Следуя инструкциям на http://blogs.msdn.com/b/aspnetue/archive/2010/09/17/second_2d00_post.aspx, я поместил .edmx в его собственную сборку, чтобы у моего решения было два проекта:

MyApp.Core (ASP.NET MVC 2 Web Application Project, references MyApp.DataLayer)
 Models/
 Controllers/
 Views/
 Web.config

MyApp.DataLayer (Class Library Project)
 Entities.edmx
 App.Config (<-- generated by edmx when I update model from DB)

Когда я регенерирую Entities.edmx, он создает файл App.Config в MyApp.DataLayer со строками подключения к базе данных. Проблема заключается в том, что при развертывании решения Web.config является единственной развернутой конфигурацией, поэтому я должен вручную добавить эти строки подключения к нему, в противном случае я получаю исключение во время выполнения, поскольку их невозможно найти.

Мне бы хотелось, чтобы в Web.config и App.Config не была одинаковая строка подключения. Как мне организовать свои проекты / конфигурационные файлы так, чтобы строка подключения к БД находилась только в одном месте? Возможно ли это?

1 Ответ

1 голос
/ 24 сентября 2010

Вы можете либо встроить автоматически сгенерированный файл app.config в ваш проект Model и ссылаться на строку подключения при создании DataContext с помощью GetEmbeddedResource ..., либо (более нормальный подход) скопировать строки подключения вручную из автоматически созданного приложения.config для вашего web.config.

Если вы хотите быть по-настоящему интуитивным, создайте простой шаблон T4, который копирует строки подключения app.config в ваш web.config при создании модели EDMX.

...