none
Como obter o EntityKey no EntityFramework 6.,0 RRS feed

  • Pergunta

  • 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

    sábado, 21 de fevereiro de 2015 15:48