に削除します。私のサービスはLexikonを必要としないので、LexikonIDをnullにすることができました。しかし、Lexikonはサービスに関連する場合にのみ存在するので、ナビゲーションプロパティを[必須]にしました。私はコードファーストを使用していますので、EFは自分のデータベースを構築します。のC# - Entity FrameworkのコアカスケードサービスがLexikonへの外部キーを持っていながら、私はサービスとLexikon間の1対1の関係を持っている1対1関連
public class Service
{
public int ServiceID { get; set; }
//Foreignkey
public int? LexikonID { get; set; }
//Navigation Properties
public Lexikon Lexikon { get; set; }
}
public class Lexikon
{
public int LexikonID { get; set; }
//Navigation Properties
[Required]
public SoftwareService SoftwareService { get; set; }
}
私は私のサービスを削除する場合、私はテーブルLexikonで自動的にデータを削除しようとしているが、残念ながら私はEFに新たなんだので、これを実行するかどうかはわかりません。
私はdbContextでこのコードを試みた:
modelBuilder.Entity<SoftwareService>()
.HasOne(l => l.Lexikon)
.WithOne(s => s.SoftwareService)
.HasForeignKey<SoftwareService>(l => l.LexikonID)
.OnDelete(DeleteBehavior.Cascade);
をしかし、私は私のサービスを削除すると、テーブルLexikon内のデータはまだそれになります。一方、私はlexikonを削除するとサービスが自動的に削除されますが、サービスを削除するとLexikonにもそのサービスが必要になります。
は、残念ながら、私はので、私は、誰かが私を助けることを願ってOnDelete-法に精通していませんよ。
はい、私のデータベースが、その場合にはentityframework –
によって私のモデルから生成され、あなたは制約を持つ必要があります。本当にそれ以上のことはありません。 –
もう1つ:属性をコード構成と混合していますが、後者は流行しているので、エンドポイントの1つが必要であることを示す必要があると思います。 –