none
ID atribui -1 RRS feed

  • Pergunta

  • Prezados,

    Ao inserir um novo item em um binding ele limpa os campos e atribui o valor -1

    Ocorre que quando salvo ele continua com o ID -1 e ao mudar de registro e voltar para o último inserido e adicionar informações em qualquer campo ao salvar novamente ele dá erro. Somente ao fechar e abrir o programa é que ele apresenta o valor do ID correto do último registro inserido.

    Alguém sabe o que está ocorrendo e o que pode ser feito para corrigir tal erro?

    Utilizo a linguagem VB com o VS2010.

    Desde já agradeço.

    sexta-feira, 20 de abril de 2012 21:37

Respostas

  • Olá Adalci,

    Esta questão de manter o contexto todo o tempo aberto é provavelmente o motivo do seu problema.

    O ideal é sempre abrir e fechar o contexto conforme executar suas consultas. Isso permite que a estrutura de seu contexto mantenha-se sempre atualizada, evitando desatualização dos dados. Prova disso é que os dados de seu contexto são atualizados quando vc fecha e abre a aplicação, pois esse processo de fechar e abrir a aplicação geram uma nova instância para seu contexto atualizada.

    Resumindo, abra e feche seu contexto conforme acessar o banco de dados e não deixe a instância do contexto perdurar aberta por muito tempo.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    sábado, 21 de abril de 2012 04:50
    Moderador

Todas as Respostas

  • Olá Adalci,

    Vc esta utilizando o Entity Framework? Se sim, vc abre e fecha o contexto toda vez que vai executar uma operação ou mantém o mesmo contexto todo tempo aberto?

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    sexta-feira, 20 de abril de 2012 23:38
    Moderador
  • Olá Fernando.

    Sim estou utilizando o Entity Framework 4.

    Mantenho o contexto o tempo todo aberto.

    Obrigado pelo apoio

    sábado, 21 de abril de 2012 04:09
  • Olá Adalci,

    Esta questão de manter o contexto todo o tempo aberto é provavelmente o motivo do seu problema.

    O ideal é sempre abrir e fechar o contexto conforme executar suas consultas. Isso permite que a estrutura de seu contexto mantenha-se sempre atualizada, evitando desatualização dos dados. Prova disso é que os dados de seu contexto são atualizados quando vc fecha e abre a aplicação, pois esse processo de fechar e abrir a aplicação geram uma nova instância para seu contexto atualizada.

    Resumindo, abra e feche seu contexto conforme acessar o banco de dados e não deixe a instância do contexto perdurar aberta por muito tempo.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    sábado, 21 de abril de 2012 04:50
    Moderador