Очевидно, у вас есть 2 Fk
s к той же таблице в той же row
, поэтому представьте, что если вы удаляете пользователя, который создал назначение и изменил его, что должно произойти, удалите назначение, что если другие пользователи изменили его это будет нулем в таблицах наследников.
, поэтому
Вам необходимо указать CascadeOnDelete
до false
, используя FluentApi
В ApplicationContext
:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<DivAssignment>()
.HasRequired(c => c.CreatedByUser)
.WithMany(u => u.CreatedDivAssignments)
.HasForeignKey(c => c.CreatedByUserId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<DivAssignment>()
.HasRequired(c => c.LastModifiedByUser)
.WithMany(u => u.ModifiedDivAssignments)
.HasForeignKey(c => c.LastModifiedByUserId)
.WillCascadeOnDelete(false);
}
Затем add-migration
, затем update-database