Olá... estou com uma dúvida com relação ao Dispose do context, Tenho uma classe RepositórioCliente e no construtor dela eu faço a instancia do context, nesta classe tenho os métodos Salvar() e Pesquisar() e Dispose()
No meu formulário de cadastro de cliente, no envento Load faço a instancia da classe RepositorioCliente RespositorioCliente repCliente = new RepositorioCliente(); //neste momento o meu context também foi instanciado
List oListaCliente = new List(); // esta lista vai receber o resultado da minha pesquisa
Porem tenho um formulário de pesquisa, e para este formulário estou passando como parametro repCliente aonde vou acessar o método Pesquisar() e retornar a lista com os registros encontrados para meu formulário de cadastro de cliente
Meu formulário de cadastro de cliente possue botões de navegaçao para os registros retornados, entao quando edito algum registro e clico no botão salvar estou chamando o metodo Salvar() repCliente.Salvar(objCliente);
A minha dúvida é... neste metodo Salvar, no final do ctx.SaveChanges() eu não posso fazer ctx.Dispose(), pois fazendo isto se navegar para outro registro e tentar salva-lo o sistema retorna um erro dizendo q o DbContext esta como Dispose "The operation cannot be completed because the DbContext has been disposed." Entao a solução que encontrei foi fazer o dispose do context no evento Form_Closing()
repCliente.Dispose(); // aqui vai esta dando o dispose no ctx
Gostaria de saber se eu fizer o dispose do context somente no Form_Closing isto pode dar algum problema ?
Se alguem tiver alguma solução melhor estou aceitando. Obrigado!