Я сталкиваюсь с проблемами в нескольких контекстах, и основное решение, которое возникает, - это разделять контекст между репозиториями, однако я не нашел хорошего примера того, как это сделать.
Для справки,Я использую веб-приложение MVC для подключения к своему уровню данных.Я хотел бы иметь один контекст для запроса пользователя (при условии, что это правильно).
Спасибо,
Изменить -
Это мое решение с помощью ссылок BrokenGlassи следующий SO Вопрос :
Я, по сути, реализовал шаблон единиц работы и внедрение зависимостей.Я должен был упомянуть в дополнение к использованию MVC, я также использую Ninject.
В данном конструкторе хранилища (подробности шаблона единицы работы см. Ниже):
public class PersonRepository : IPersonRepository
{
private readonly MyContext _context;
public PersonRepository(IUnitOfWork unitOfWork)
{
if (unitOfWork == null)
throw new ArgumentNullException("unitOfWork");
_context = unitOfWork as MyContext;
}
//...
}
В моем приложении MVC в классе NinjectMVC3 (ключом является метод InRequestScope ()):
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IUnitOfWork>().To<MyContext>().InRequestScope();
kernel.Bind<IPersonRepository>().To<PersonRepository>();
//...
}