Mapeando un DTO a una entidad con Automapper

Tengo un Entidad Framework POCO con la siguiente estructura.

public class Entity
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
}

He creado un objeto de transferencia de datos para que esta vista sea utilizada por mis vistas.

public class EntityDto
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Ahora, tengo el siguiente código de asignación en mi archivo Global.asax.

Mapper.CreateMap<Entity, EntityDto>();
Mapper.CreateMap<EntityDto, Entity>(); // not sure whether I need this as well?

Todo funciona bien, paso el DTO a mis vistas y puedo crear una nueva instancia deEntity de miEntityDto modelo. El problema surge cuando intento editar miEntity; Soy consciente de que todo depende de que AutoMapper pierda la clave de entidad que EF crea para rastrear los cambios en el objeto, pero al leer algunas fuentes no parece haber una solución definitiva. Aquí está la acción que estoy usando para editar mi entidad.

public ActionResult EditEntity(EntityDto model)
{
    var entity = context.Entities.Single(e => e.Id == model.Id);
    entity = Mapper.Map<EntityDto, Entity>(model); // this loses the Entity Key stuff
    context.SaveChanges();

    return View(model);
}

Ahora, ¿qué hago para resolver esto? Puedo:

De alguna manera, dile a AutoMapper que.Ignore() las propiedades clave de la entidad?¿Obtener AutoMapper para copiar las propiedades de la clave de entidad?.Attach() mi mapeadoEntity y establecer el estado modificado?

Cualquier ayuda siempre apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta