Создание классов POCO в разных проектах для проекта с моделью Entity Framework
==============================================================================

 Я пытаюсь использовать шаблон репозитория с EF4, используя VS2010. 

 Для этого я использую генерацию кода POCO, щелкнув правой кнопкой мыши на конструкторе модели сущностей и выбрав пункт Добавить код генерации. Затем я выбираю шаблон POCO и получаю мои занятия. 

 То, что я хотел бы сделать, - это структурировать мое решение в отдельные проекты для классов Entity (POCO) и другой проект для модели сущностей и кода репозитория. 

 Это означает, что мой проект MVC может использовать классы POCO для строго типизированных представлений и т. Д., И ему не нужно знать о хранилище или иметь ссылку на него. 

 Чтобы соединить все это вместе, у меня будет другой отдельный проект с интерфейсами и использование IoC. 

 Звучит хорошо в моей голове, я просто не знаю, как создать классы в свой собственный проект! Я могу скопировать их и затем изменить пространства имен на них, но я хотел избежать ручной работы всякий раз, когда я изменяю схему в БД и хочу обновить свою модель. 

 Спасибо 

 На самом деле шаблоны T4 в EF 4.0 были разработаны с учетом этого сценария :) 

 Есть 2 шаблона: 

* Один для самих сущностей (т.е. ModelName.tt)
* Один для ObjectContext (т.е. ModelName.Context.tt)

 Вам следует поместить файл ModelName.tt в ваш проект POCO и просто изменить шаблон так, чтобы он указывал на файл EDMX в проекте, поддерживающем постоянство. 

 Звучит странно, я знаю: теперь есть зависимость, но это во время генерации T4, а не во время компиляции! И это должно быть хорошо? Потому что полученная сборка POCO все еще остается невежественной. 

 См. Шаги 5 и 6 этого: <http://blogs.msdn.com/adonet/pages/walkthrough-poco-template-for-the-entity-framework.aspx> для получения дополнительной информации. 

 Надеюсь это поможет 

 Alex