configuration.CreateMap<TpmProject, TpmProjectEditDto>();
configuration.CreateMap<TpmProjectEditDto, TpmProject>();
configuration.CreateMap<TpmProjectClassLink, TpmProjectClassLinkDto>();
configuration.CreateMap<TpmProjectClassLinkDto, TpmProjectClassLink>();
configuration.CreateMap<TpmProjectContactLink, TpmProjectContactLinkDto>();
configuration.CreateMap<TpmProjectContactLinkDto, TpmProjectContactLink>();
public partial class TpmProject : FullAuditedEntity<long, User>
{
public string Name { get; set; }
public virtual ICollection<TpmProjectContactLink> TpmProjectContactLink { get; set; }
public virtual ICollection<TpmProjectClassLink> TpmProjectClassLink { get; set; }
}
public class TpmProjectEditDto : : FullAuditedEntity<long?, User>
{
public string Name { get; set; }
public ICollection<TpmProjectContactLinkDto> TpmProjectContactLink { get; set; }
public ICollection<TpmProjectClassLinkDto> TpmProjectClassLink { get; set; }
}
}
public class TpmProjectClassLink: FullAuditedEntity<long, User>
{
public string baseClassNo { get; set; }
public string name { get; set; }
public virtual long? TpmProjectId { get; set; }
[ForeignKey("TpmProjectId")]
public virtual TpmProject TpmProject { get; set; }
}
public class TpmProjectClassLinkDto : FullAuditedEntity<long, User>
{
public string baseClassNo { get; set; }
public string name { get; set; }
public virtual long? TpmProjectId { get; set; }
}
public partial class TpmProjectContactLink: FullAuditedEntity<long, User>
{
public string Name { get; set; }
public virtual long? TpmProjectId { get; set; }
[ForeignKey("TpmProjectId")]
public virtual TpmProject TpmProject { get; set; }
}
public partial class TpmProjectContactLinkDto : FullAuditedEntity<long,User>
{
public string Name { get; set; }
public virtual long? TpmProjectId { get; set; }
}
это метод обновления
[UnitOfWork(IsDisabled = true)]
protected virtual async Task Update(TpmProjectEditDto input)
{
var entity = await _entityRepository.GetAllIncluding(t=>t.TpmProjectContactLink,t=>t.TpmProjectClassLink,t => t.TpmProjectErrorLink).Where(t => t.Id == input.Id).SingleOrDefaultAsync();
entity.TpmProjectClassLink.Clear();
entity.TpmProjectContactLink.Clear();
await CurrentUnitOfWork.SaveChangesAsync();
ObjectMapper.Map(input, entity);
await _entityRepository.UpdateAsync(entity);
}
ошибка выброса
Mvc.ExceptionHandling.AbpExceptionFilter - Экземпляр типа сущности
«TpmProjectContactLink» не может быть отслежен, потому что другой экземпляр
с тем же значением ключа для {'Id'} уже отслеживается. когда
присоединяя существующие сущности, убедитесь, что только один экземпляр сущности с
данное значение ключа прилагается. Рассмотреть возможность использования
'DbContextOptionsBuilder.EnableSensitiveDataLogging', чтобы увидеть
конфликтующие ключевые значения. System.InvalidOperationException: экземпляр
типа сущности 'TpmProjectContactLink' не может быть отслежен, потому что
другой экземпляр с тем же значением ключа для {'Id'} уже
отслеживаются. При подключении существующих объектов убедитесь, что только один объект
экземпляр с данным значением ключа прилагается. Рассмотреть возможность использования
'DbContextOptionsBuilder.EnableSensitiveDataLogging', чтобы увидеть
конфликтующие ключевые значения.
как изменить мой код для обновления одного ко многим