Asp.net core 使用Automapper后保存Asp.Net核心Ef实体时出错

Asp.net core 使用Automapper后保存Asp.Net核心Ef实体时出错,asp.net-core,automapper,entity-framework-core,Asp.net Core,Automapper,Entity Framework Core,我有一个asp.net core 1应用程序,带有ef core 1.0和automapper 5.1.1。 我从网页上收到一个实体的viewmodel,我试图直接映射到ed实体 在地图的启动中,我声明了这个规则 cfg.CreateMap<AnagraficaVm, Anagrafiche>() .ForMember( dest => dest.Id, opt => opt.Ignore() ); 当我调用savechangesync时,我收到错误消息

我有一个asp.net core 1应用程序,带有ef core 1.0和automapper 5.1.1。
我从网页上收到一个实体的viewmodel,我试图直接映射到ed实体

在地图的启动中,我声明了这个规则

   cfg.CreateMap<AnagraficaVm, Anagrafiche>()
     .ForMember( dest => dest.Id, opt => opt.Ignore() );
当我调用
savechangesync
时,我收到错误消息

无法跟踪实体类型“Anagrafiche”的实例,因为 具有相同密钥的此类型的另一个实例已在创建中 跟踪。在添加新实体时,对于大多数键类型,一个唯一的 如果未设置任何键(即,如果 属性被指定为其类型的默认值)。如果你是 显式设置新实体的键值,确保它们不会 与现有实体或为其他实体生成的临时值冲突 新实体。附着现有实体时,请确保只有一个实体 具有给定键值的实体实例附加到上下文


如何避免此错误消息并将数据从视图模型映射到现有对象?

当调用
savechangesync()
时?你能完成上面的代码吗?我有同样的问题,你能解决这个问题吗?当你调用
savechangesync()
?你能完成上面的代码吗?我有同样的问题,你能解决这个问题吗?
var anagrafica = await _db.Anagrafiche.FirstOrDefaultAsync(r => r.Id == id);
if (anagrafica == null) return null;
    _mapper.Map(model, anagrafica);