Используя последнюю версию CTP EF Code First в веб-приложении asp.net, я, похоже, столкнулся с проблемой.Пожалуйста, извините за отсутствие кода (пока), но я постараюсь объяснить хорошо.
В моих контроллерах я внедряю фабрику хранилища и IDataContext через мой контейнер DI.IDataContext - это просто интерфейс к моему DbContext, и сама фабрика репозитория также будет внедрена с одним из них.
Моя проблема в том, что при извлечении пользователя из репозитория (с фабрики) и добавлении некоторыхсвойства внутри блока using (DataContext) - IDataContext, который внедряется, изменения не сохраняются.
Если я создаю нового пользователя - это прекрасно работает.Но когда я добавляю Записи в ICollection пользователя, они не сохраняются.
Я создал тест, чтобы использовать один DataContext для создания пользователя, а затем другой DataContext - оба с использованием блоков - для добавления записей.И все работает нормально (в этой последовательности create-dispose-create-dispose).
Я предполагаю, что в контроллерах разные экземпляры IDataContext влияют на команды, отправляемые в базу данных - или даже раньше ...
Мне нужно решить проблему завтра.Но любые предложения были бы хорошими, если бы мне не удалось отследить проблему.