Два решения: сначала вы можете присоединить связанный объект сущности вручную, чтобы он отслеживался в неизменном состоянии до добавления целевого объекта сущности:
var myProps = ExternalIds
.Select( id => new MyProperty { Id = id } )
.ToArray();
dbContext.AttachRange( myProps ); // tracks as Unchanged
...
entities[ i ].MyProperty = myProps[i];
Или предоставить свойство FK для свойства navи просто установите идентификатор (это мое предпочтительное решение, если вы работаете со значениями FK)
public class EntityType
{
...
public int MyPropertyId { get; set; }
[ForeignKey( "MyPropertyId" )]
public MyProperty MyProperty { get; set; }
}
...
Entities[i].MyPropertyId = ExternalIds[i]