Реорганизация кода после его создания с помощью ADO.NET DbContext Generator

Предположим, я создаю приложение, используя пример базы данных Northwind, используя asp.net mvc 3 и первый подход к базе данных Entity Framework. Для этого я открываю новый проект asp.net mvc 3, а затем добавляю модель данных объекта ado.net. Я генерирую его из существующей базы данных, поскольку она уже создана. После этого я использую генератор ado.net DbContext для генерации кодов для себя. Сюда входят все модели и файл DbContext (в данном случае NorthwindContext).

Теперь проблема, с которой я столкнулся, заключается в реорганизации кода. Все модели должны быть помещены в папку Model проекта. Даже если я генерирую коды в папке Model, в ней также создается класс NorthwindContext. То есть в файле NorthwindContext.tt создается файл NorthwindContext.cs. Этот файл должен оставаться в папке DAL, так как я буду использовать его для доступа к данным. Теперь, если я просто перетащу его в папку DAL, генерация кода автоматически остановится (код не останется в файле NorthwindContext.cs). Любая идея, как я могу решить эту проблему?????


person Alim Ul Gias    schedule 29.08.2011    source источник


Ответы (1)


Есть несколько обручей, через которые вам нужно пройти, чтобы получить эту настройку.

У вас должно быть сгенерировано два шаблона T4, один для классов модели и один для контекста. Переместите шаблон T4 для модели в сборку модели, затем откройте его в Visual Studio и обновите путь к файлу до edmx в сборке доступа к данным. Отредактируйте контекст T4 в сборке доступа к данным, чтобы создать оператор using для пространства имен модели. Наконец, добавьте ссылку на сборку модели в сборку доступа к данным.

Всякий раз, когда вы хотите восстановить классы, щелкните правой кнопкой мыши в VS и выберите «Запустить пользовательский инструмент» как для контекста, так и для модели T4.

person Darren Lewis    schedule 29.08.2011