public class Station : IEntitie
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual ICollection<RegulatorySchedule> RegulatoryScheduleDispatchStations { get; set; }
public virtual ICollection<RegulatorySchedule> RegulatoryScheduleDestinationStations { get; set; }
}
public class RegulatorySchedule : IEntitie
{
[Key]
public int Id { get; set; }
public virtual Station DispatchStation { get; set; }
public virtual Station DestinationStation { get; set; }
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<RegulatorySchedule>()
.HasOne(s => s.DestinationStation)
.WithMany(s => s.RegulatoryScheduleDestinationStations)
.OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict);
modelBuilder.Entity<RegulatorySchedule>()
.HasOne(s => s.DispatchStation)
.WithMany(s => s.RegulatoryScheduleDispatchStations)
.OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict);
}
データベースは、移行時に、Restrict OnDelete (Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict)
を削除するときの動作をはっきりと明らかにした場合にのみ作成されます。 はそれ以外の場合は、例外がスローされます:エンティティフレームワークコアカスケード削除1対多のリレーションシップ
「FOREIGN KEY制約 を紹介 'FK_RegulatorySchedules_Stations_DispatchStationId' テーブル上 'RegulatorySchedules' サイクルまたは複数のカスケードパスを引き起こす可能性があり 指定ON NO ACTIONまたはUPDATE ON NO ACTIONを削除しない、または。他の FOREIGN KEY制約を変更してください。
テーブルのステーションステーションとテーブル関連プロパティのRegulatorySchedules DispatchStationとDestinationStationがNULLにさらされている必要があります。 Restrictオプション私は置くことができないSetNullを削除すると例外があります。 する方法を教えてください?
アドオンの移行が行われていますが、エラー)。 一般的に、手動による削除に関連するオブジェクトと、動作が異なるSQLサーバーがあるかどうかは明らかです。 – Aldmi