Cannot insert explicit value for identity column in table 'Produtos' when IDENTITY_INSERT is set to OFF. #10
-
Olá, estou com essa dificuldade, estou fazendo a programação pelo Visual Studio, diferente do curso que é feito pelo VS Code. A classe modal está dessa forma, tive que colocar o [ExplicitKey] dentro da classe, se não, não rodava no banco. Porém agora na hora de inserir está aparecendo essa outra msg. Att |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
@matheuscastanho, por que você teve que colocar o Esta anotação exige que você sempre forneça um id na inserção do objeto, o que não é comum. O comum é deixar para o Banco que gere o id, usando a anotação correta que é Para usar o Talvez seja uma boa ideia reconstruir seu DB seguindo a aula 4: https://beta.balta.io/player/assistir/acesso-dados-csharp-net-dapper-sql-server/modulos/1/aulas/4 |
Beta Was this translation helpful? Give feedback.
@matheuscastanho, por que você teve que colocar o
[ExplicitKey]
?Me parece que você está seguindo para um caminho errado.
Esta anotação exige que você sempre forneça um id na inserção do objeto, o que não é comum. O comum é deixar para o Banco que gere o id, usando a anotação correta que é
[Key]
, como neste exemplo:https://github.com/balta-io/2806/blob/main/Modulo%204/Models/User.cs
Para usar o
[ExplicitKey]
em um campo no DB que tenha sido mapeado como Chave Primária, você precisa adicionarSET IDENTITY_INSERT ON
antes da query do insert.Talvez seja uma boa ideia reconstruir seu DB seguindo a aula 4: https://beta.balta.io/player/assistir/acesso-dados-csharp-net-dapper-sql-server/modulo…