none
Duvida Trabalhar com Context Aberto RRS feed

  • Pergunta

  • Bom é o seguinte estou utilizando EF 4 com POCO e WPF, minha duvida é o seguinte trabalho com o contexto aberto todo alteração sofridas nos objetos já são refletidas nos objetos do contexto porem seu eu tiver no modo de edição de um objeto em uma tela e quero cancelar essa alteração para não fazer mais nada como faço isso, pois os objetos já foram alterados e se for fazer um savechanges() já atualiza como descarta as alterações? e se tiver como descarta tem que descarta por objeto e não o contexto inteiro se não pode se que descarte as alterações de outra tela aberta em edição.

     

    Estou confuso como trabalhar com contexto aberto.

    segunda-feira, 14 de março de 2011 17:17

Respostas

  • Daniel,
    Se você não estiver trabalhando com WCF, com uma arquitetura distribuída, tem duas coisas para te dizer:
    1) Primeiro é recomendado trabalhar com o contexto EF por formulário, justamente para não ter o problema que você citou (Formulário 1 começa a edição de um objeto e faz uma tentativa de salvar, mas esse objeto deixa o contexto em uma situação invalida, formulário 2 edita outro objeto e tenta salvar, mas não consegue pois o contexto esta corrompido com a edição do objeto editado no formulário 1), caso um formulário tenha afinidade com outro, ai nessa situação é provável que você compartilhe o contexto entre estes dois formulários.
    2) Quanto ao cancelamento da edição de um objeto de uma olhada na interface IEditableObject, essa interface serve justamente para casos de cancelamento de edição de objetos complexos, aonde o cenário prevê o cancelamento da edição.

    Atenciosamente, Paulo R. Pereira de Souza
    http://paulosouza.net
    E-mail: paulorpereirasouza@hotmail.com. twitter facebook linkedin
    quarta-feira, 16 de março de 2011 17:54