unity.mvc3 и единица работы в приложении ntier? - PullRequest
1 голос
/ 01 декабря 2011

Медленно соединяя приложение MVC с библиотеками классов: MVC> Services> IRepository> EFRepository. Теперь в настоящее время каждая из моих реализаций EFRepository создает новый dbContext в своем конструкторе, но это препятствует тестированию, поэтому мне нужно вместо этого ввести dbContext.

Я успешно использую unity.mvc3 для DI в остальной части моего приложения, но не понимаю, как правильно реализовать внедрение dbContext.

  • Действует ли dbContext как единица работы?
  • Правильно ли вставить dbContext в репозиторий?
  • Правильно ли я считаю, что для каждого запроса нужно создавать экземпляр dbContext?

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

Вся помощь оценена,

Джеймс

1 Ответ

3 голосов
/ 01 декабря 2011
  • Да (но вы можете перейти в пользовательскую единицу работы)
  • Да
  • Да (иерархический менеджер времени жизни в Unity.MVC3)
...