C# 是否要删除不工作

C# 是否要删除不工作,c#,.net,entity-framework,C#,.net,Entity Framework,我有两张桌子 public class ServiceRendering { [DataMember] public int Id { get; set; } [DataMember] public virtual IList<ServiceRenderingProduct> ServiceRenderingProducts { get; set; } } public class ServiceRenderingProduct { [ForeignKey("

我有两张桌子

public class ServiceRendering
{
  [DataMember]
  public int Id { get; set; }

  [DataMember]
  public virtual IList<ServiceRenderingProduct> ServiceRenderingProducts { get; set; }
}

public class ServiceRenderingProduct
{
  [ForeignKey("ServiceRendering")]
  [DataMember]
  public int ServiceRenderingId { get; set; }

  [DataMember]
  public virtual ServiceRendering ServiceRendering { get; set; }

  [DataMember]
  public int Id { get; set; }
}
公共类服务呈现
{
[数据成员]
公共int Id{get;set;}
[数据成员]
公共虚拟IList ServiceRenderingProducts{get;set;}
}
公共类ServiceRenderingProduct
{
[外键(“服务呈现”)]
[数据成员]
公共int-ServiceRenderingId{get;set;}
[数据成员]
公共虚拟服务呈现服务呈现{get;set;}
[数据成员]
公共int Id{get;set;}
}
并设置它们之间的关系

modelBuilder.Entity<ServiceRendering>().HasMany(x => x.ServiceRenderingProducts).WithRequired(x => x.ServiceRendering).HasForeignKey(x => x.ServiceRenderingId  ).WillCascadeOnDelete(true);
modelBuilder.Entity().HasMany(x=>x.ServiceRenderingProducts)。WithRequired(x=>x.ServiceRendering)。HasForeignKey(x=>x.ServiceRenderingId)。WillCascadeOnDelete(true);

但是在删除ServiceRenderingEntity时,我不会删除ServiceRenderingProduct实体。我应该在数据库中设置任何约束吗?或者还有其他原因吗?

Hmm,我尝试了你的代码和ServiceRenderingProduct在删除ServiceRendering之后删除。这真的很奇怪。您使用什么版本的EF?可能TransactionScope会影响删除。在EF生成的数据库中,ServiceRendering FK包含级联删除规则?是的,EF生成的数据库中有这样的键。但我自己的基地里没有。我应该拥有它吗,或者与modelbuilder的关系就足够了?