Boa tarde amigos,
Eu tenho uma classe de repositório genérico baseado no entity framework 4, ao qual utilizo em todos os meus projetos. Estou migrando esta classe para o entity framework 6 e estou encontrando problemas para regastar o entitykey de uma entidade, uma vez que
no entity framework 6, todas as entidades passaram a ser classes normais e não mais classes do tipo EntityObject,
Olhem o trecho do código abaixo:
/// Atualiza um objeto existente.
public virtual void Update(E entity)
{
EntityKey key;
object originalItem;
if (entity.EntityKey == null)
// Obtém o entity key do objeto que será atualizado
key = Context.CreateEntityKey(EntitySetName, entity);
else
key = entity.EntityKey;
try
{
// Obtém o objeto original
if (Context.TryGetObjectByKey(key, out originalItem))
{
if (originalItem is EntityObject &&
((EntityObject)originalItem).EntityState != EntityState.Added)
{
// Autaliza o objeto
//context.ApplyPropertyChanges(key.EntitySetName, entity);
context.ApplyCurrentValues(key.EntitySetName, entity);
//context.SaveChanges();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
O problema acontece quando eu testo
if (entity.EntityKey == null)
Uma vez que o entity não é mais do tipo EntityObject. Eu gostaria de saber como obter agora o ID da entidade agora no
entityframework 6.0.
Obrigado
Danilo Castro