Entity framework 6 使用实体框架从聚合根目录中删除子记录

Entity framework 6 使用实体框架从聚合根目录中删除子记录,entity-framework-6,aggregateroot,Entity Framework 6,Aggregateroot,My customer业务对象是地址集合的聚合根 public class Customer { Public Customer {Addresses = new List<Address>} public virtual List<Address> Addresses { get; set; } // other properties } Public class Address { public virtual Customer customer {

My customer业务对象是地址集合的聚合根

public class Customer {
  Public Customer {Addresses = new List<Address>}
  public virtual List<Address> Addresses { get; set; }
  // other properties
}

Public class Address {
  public virtual Customer customer {get;set;}
  [NotMapped]

  // other properties
}
地址表中的Customer_Id设置为null,而不是从数据库中删除的地址

如何使用聚合根从数据库中删除地址

我看了一眼

但是它使用一个DBSet作为子记录

var deleteQueue = customer.Addresses.Where(x => x.TaggedToDelete).ToArray();
 foreach (var a in deleteQueue)
 {
     var entry = connect.Entry(a);
     entry.State = EntityState.Deleted;
 }
Customer.Addresses.RemoveAll(x=>x.TaggedToDelete)
var deleteQueue = customer.Addresses.Where(x => x.TaggedToDelete).ToArray();
 foreach (var a in deleteQueue)
 {
     var entry = connect.Entry(a);
     entry.State = EntityState.Deleted;
 }