Я внедрил шаблоны T4 Repository / Unit of Work от Gil Fink для использования в проекте, над которым я работаю, мой первый полномасштабный проект с использованием MVC. Однако я получаю сообщение об ошибке, которого не было раньше, и не могу его отследить. Я не знаю, если это что-то с шаблонами, или просто настройка где-то, что я установил неправильно, но я сейчас в замешательстве. Я надеялся, что кто-нибудь сможет пролить свет на ситуацию.
Вот мои настройки фреймворка:
- MVC 3 Beta
- SQL Server 2008 R2
- Ninject v2.1.0.76
- EF4 POCO
- 3 проекта в решении: Data, Entities и приложение MVC.
Я делаю первый дизайн БД и использую EF для создания классов POCO через Microsoft ADO.NET POCO Entity Generator. Затем я использую инструмент T4, чтобы создать репозиторий и единицы работы. С этой настройкой и всеми сгенерированными классами и репозиториями я внедряю ее в приложение MVC, используя Ninject для DI. На этом этапе я использую метод MVC 2, использующий фабрику контроллеров, и в дальнейшем планирую изменить его на метод IDependencyResolver.
Когда я использую жестко запрограммированный репозиторий Mock, приложение работает должным образом, однако, когда я изменяю его на использование привязки IRepository, я получаю следующую ошибку:
«Предоставленное соединение недопустимо, так как содержит недостаточно информации о сопоставлении или метаданных
Имя параметра: соединение "
Это указывает на то, что строка подключения EF к соединению с БД неверна, однако это строка по умолчанию, созданная шаблоном ADO.NET Entity Data Model. Возможно, это тоже что-то с настройками .edmx.
Вот моя строка подключения (используя удобный макет базы данных Nerd Dinner)
<add name="NerdDinnerEntities"
connectionString="metadata=
res://*/Model1.csdl|
res://*/Model1.ssdl|
res://*/Model1.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=Wayne;Initial Catalog=NerdDinner;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
Любой, у кого есть какие-либо мысли / подсказки и т. Д., Буду очень признателен.
Edit: вот ссылка на шаблон T4, который я использую:
Шаблон репозитория и единицы работы T4 для Entity Framework
Edit2:
Ошибка связана с тем, что я использую DI с Unit Of Work. когда я удаляю DI, и вручную имею зависимости в контроллерах, это работает. Когда я пытаюсь реализовать DI, он ломается.