none
Coluna identity - entity framework - inclusão de registro RRS feed

  • Pergunta

  • Olá, pessoal,

    Estou tentando incluir registros em uma tabela que tem uma coluna de ID que é identidade com incremento automático de 1. Uso o Entity Framework como no código abaixo.

    Até eu marcar esta coluna como chave primária e fazer relacionamentos com outras tabelas no SQL Server estava funcionando normalmente. Agora aparece a seguinte mensagem:

    SqlException: Não é possível inserir um valor explícito para a coluna de identidade na tabela 'PES_PessGeral' quando IDENTITY_INSERT está definido como OFF.

    Fazendo inserção de registro manualmente, no SQL, não dá problema algum.

    Isso é uma falha do EF? Tem solução sem desfazer os relacionamentos e sem ter que informar o valor do ID?

     private void button1_Click(object sender, EventArgs e)
            {
                using (var context = new ADVContext())
                {
                    if (textBox1.Text.Length > 0)
                    {
                        ps1.NomePessoa = textBox1.Text.ToUpper();
                        context.PES_PessGeral.Add(ps1);
                        context.SaveChanges();
    
                    }
                }
            }


    segunda-feira, 25 de setembro de 2017 01:40

Respostas

  • Boa tarde,

    Está trabalhando com edmx. Se sim, remove e inclua a tabela novamente.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    quinta-feira, 28 de setembro de 2017 17:11
  • Silvaney, não trabalho com Edmx.

    Resolvi apagando a classe do context e fazendo de novo o Model Wizard (Code First from database). Os relacionamentos foram integrados ao context e não deu mais erro.

    Fiquei sem saber onde estava o problema, mas resolveu.

    De qualquer forma, obrigado pela resposta.

    quinta-feira, 28 de setembro de 2017 22:30

Todas as Respostas

  • Boa tarde, Paulo Cezar Santos de Almeida.

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 25 de setembro de 2017 20:01
    Moderador
  • Acho que esta seria uma questão de erro, já que, como descrevi, está ocorrendo um erro no código.

    Agradeço as respostas, se houver.

    segunda-feira, 25 de setembro de 2017 20:55
  • Boa tarde, Paulo Cezar Santos de Almeida.

    Dá uma olhada nessa thread, veja se te ajuda:

    https://social.technet.microsoft.com/Forums/pt-BR/79e5463b-298f-4e54-b7a8-0be7ec480680/identityinsert-est-definido-como-off?forum=admingeralpt


    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 28 de setembro de 2017 16:42
    Moderador
  • Boa tarde,

    Está trabalhando com edmx. Se sim, remove e inclua a tabela novamente.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    quinta-feira, 28 de setembro de 2017 17:11
  • Silvaney, não trabalho com Edmx.

    Resolvi apagando a classe do context e fazendo de novo o Model Wizard (Code First from database). Os relacionamentos foram integrados ao context e não deu mais erro.

    Fiquei sem saber onde estava o problema, mas resolveu.

    De qualquer forma, obrigado pela resposta.

    quinta-feira, 28 de setembro de 2017 22:30