Как установить свойство shadow, если у вас есть несколько записей одного типа? Я использую приведенный ниже код и получаю ошибку
System.InvalidOperationException: The instance of entity type 'CalendarDay' cannot be tracked because another instance with the key value '{Id: 1}' is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.
public override int SaveChanges()
{
foreach (var entity in this.ChangeTracker.Entries().Where(e => e.State ==
EntityState.Added))
{
//set shadow property for entity on save
entity.Property(nameof(Portal.Id)).CurrentValue = 1;
}
Audit();
return base.SaveChanges();
}
И я создаю записи, подобные этой
if(!context.CalendarDays.Any()){
for(var i=0;i<2;i++){
var cd = new CalendarDay(){ Date = DateTime.Today };
cd.Id = DateTime.UtcNow.Millisecond; //lazy, just to be sure the ID is unique(ish) for testing
context.CalendarDays.Add(cd);
}
context.SaveChanges();
}