[RESOLVIDO]Erro ao adicionar um segundo registro com o Entity
-
domingo, 4 de março de 2012 15:06
Pessoa, estou com um problema usando o Entity. A primeira vez que adiciono o registro funciona normalmente, mas quando vou adicionar um segundo registro ele dá a seguinte exception: "The EntityKey property can only be set when the current value of the property is null".
Não consigo entender o que pode ser esse erro. Já procurei pela internet mas sem sucesso.
na classe ClienteDAL
MasterDBEntities masterDB = null;
public int SaveRegistro(Cliente registo)
{
using (masterDB = new MasterDBEntities())
{
masterDB.AddToCliente(registo);
masterDB.SaveChanges();
}
return registo.cod_cliente;
}
A chave é gerado com Identity.
As outras operações CRUD estão funcionando normalmente.
Alguém sabe o que pode ser?
Obs. Não achei um local no fórum sobre Entity, por isso postei aqui. Desculpe-me se não é o local apropriado.
- Editado Emanuel_ domingo, 4 de março de 2012 15:07
- Movido Olavo Oliveira NetoMicrosoft Community Contributor, Moderator segunda-feira, 5 de março de 2012 11:44 Estou movendo sua questão para o fórum especifico de LINQ (De:.NET Development - Geral)
- Editado Emanuel_ segunda-feira, 5 de março de 2012 23:26
Todas as Respostas
-
segunda-feira, 5 de março de 2012 11:43Moderador
Amigo, bom dia
no seu mapeamento, o campo está setado como:
Entity Key = True
Default Value = (None)
?
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Se for útil marque como resposta e faça um Developer feliz :) -
segunda-feira, 5 de março de 2012 23:25
Oi Olavo.
Consegui resolver o problema.
O que estava acontecendo era que o SaveChange retorna a chave primaria que do registro que foi cadastrado, mas para isso o atributo do objeto passado por paramento deve está nulo.
Como eu estava usando o mesmo objeto só mudando os atributo, ele acabava passando a chave primaria do registro cadastrado anteriormente.
Consegui descobrir percebendo que quando fechava o form de cadastro e abria de novo o registro era salvo normalmente na 1º vez.
Obrigado pela atenção.
- Marcado como Resposta Fernando Henrique Inocêncio Borba FerreiraMVP, Moderator terça-feira, 6 de março de 2012 00:55

