Entity framework 一对一的级联删除不起作用

Entity framework 一对一的级联删除不起作用,entity-framework,code-first,Entity Framework,Code First,我首先使用EF和代码 我有这样一个事务类: [Table("Transacties")] public class Transactie { [Key] [Column(Order = 1)] [StringLength(128)] public string KIMTransactieCode { get; set; } [Column(Order = 2)] [StringLe

我首先使用EF和代码

我有这样一个事务类:

[Table("Transacties")]
    public class Transactie
    {
        [Key]
        [Column(Order = 1)] 
        [StringLength(128)]
        public string KIMTransactieCode { get; set; }

        [Column(Order = 2)]
        [StringLength(128)]
        public string BovenliggendeKIMTransactieCode { get; set; }

        [ForeignKey("BovenliggendeKIMTransactieCode")]
        public Transactie BovenLiggendeTransactie { get; set; }

        public DateTime? DatumLaatstBekeken { get; set; }

        public bool? IsZichtbaar { get; set; }

        public DateTime? IsZichtbaarGewijzigdOp { get; set; }

        public OpnameInfo OpnameInfo { get; set; }
}
关系如下: 事务可以具有子事务,当存在子事务时,需要引用父事务“BovenliggendekimTransacticeCode”。这在一个类/表中定义完整

它主要使用数据注释

我想对这个类进行级联删除:当父事务被删除时,所有相关的子事务也必须被删除

我尝试按如下方式调用级联删除:

var transactions = mailboxDataContext.Transacties
                .Where(tr => tr.BovenliggendeKIMTransactieCode == null &&
                             tr.IsZichtbaar.HasValue &&
                             !tr.IsZichtbaar.Value &&
                             tr.IsZichtbaarGewijzigdOp.HasValue &&
                             tr.IsZichtbaarGewijzigdOp.Value < selectionDateTime)
                .ToList(); // Materialize

            if (transactions.Count > 0)
            {
                foreach (var transaction in transactions)
                {
                    mailboxDataContext.SetDeleted(transaction);
                }

                mailboxDataContext.SaveChanges();
            }
但我得到:

DELETE语句与同一个表引用冲突 限制 \FK_dbo.Transactions_dbo.Transactions_BovenligendekimTransacticeCode\。 数据库\PROGISKIM\u邮箱\表中发生冲突 \dbo.Transacties\,列“BovenliggendekimTransacticeCode”。\r\n 声明已终止

如何解决这个问题

更新: 当我尝试删除SSMS中的主行时,我也会遇到此异常