Entity Framework Сохранение локальной переменной области? - PullRequest
1 голос
/ 26 февраля 2010

Привет, ребята, у меня есть следующий метод:

var usuario;

            usuario = UniapontaService.GetUsuarioUniapontaPlanejamentoEstrategico(x => x.IdUsuario == VWUsuarioUniaponta.IdUsuario &&
                      x.PlanejamentoEstrategico.IdPlanejamentoEstrategico == HorarioTrabalhoCorrente.PlanejamentoEstrategico.IdPlanejamentoEstrategico);

            TxtTotalHorasMes.Text = usuario.QuantidadeHorasDisponivelMes.ToString();

            usuario = null;

Когда выполняется этот метод, а затем выполняется снова, кажется, что EF или что-то кэширует значение первого запроса: Пример: перейти по методу, запросить для usuario, который равен 25, в этом случае я позже установил значение null (это был тест), даже изменив это значение в базе данных, когда он снова передает этот метод, переменная по-прежнему равна .... и когда я сохраняю изменения в другом методе, он пытается сохранить стандартное значение из другого метода. Это кажется неправильным, потому что область видимости переменной является локальной, а не глобальной Проблема в том, что когда метод закончен, он не должен уничтожать эту переменную? Как я могу решить это ??

1 Ответ

2 голосов
/ 26 февраля 2010

ECon ObjectContext отслеживает загружаемые объекты. Если вы снова попросите об объектах, он даст вам тот же экземпляр (не копию), который вы дали ранее.

http://msdn.microsoft.com/en-us/library/bb896269.aspx

Экземпляр ObjectContext является областью действия этих экземпляров. Если вы хотите запустить новый UnitOfWork, вам следует начать с нового ObjectContext.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...