Entity framework 将集合自动映射到实体时出现错误,即集合已被跟踪

Entity framework 将集合自动映射到实体时出现错误,即集合已被跟踪,entity-framework,automapper,Entity Framework,Automapper,我试图使用automapper将包含许多嵌套集合的大型DTO映射到一个实体中,以便保存到数据库中 我的DTO结构与实体结构非常相似 例如 是的,我研究过了,但是找不到一个好的例子来说明如何使用它?我使用的EF Core 2.1自述非常有教育意义;您的问题中没有显示任何努力。AutoMapper.Collections不支持EF CoreYep,没有努力。 LogbookDTO -> Logbook LogbookSessionDTO -> LogbookSession Logbook

我试图使用automapper将包含许多嵌套集合的大型DTO映射到一个实体中,以便保存到数据库中

我的DTO结构与实体结构非常相似

例如


是的,我研究过了,但是找不到一个好的例子来说明如何使用它?我使用的EF Core 2.1自述非常有教育意义;您的问题中没有显示任何努力。AutoMapper.Collections不支持EF CoreYep,没有努力。
LogbookDTO -> Logbook
LogbookSessionDTO -> LogbookSession
LogbookSessionSectionDTO -> LogbookSessionSection
....

public class LogbookDto {
 ICollection<LogbookSessionDTO> Sessions;
}

public class Logbook {
 ICollection<LogbookSession> Sessions;
}
var logbook = _repository.GetById(logbookDto.Id);
Mapper.Map<Logbook>(logbookDto, logbook);
_repository.SaveChanges();
 The instance of entity type 'Session' cannot be tracked because another instance with the key value '{Id: 3}' is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.