Entity framework 6 使用实体框架从聚合根目录中删除子记录
My customer业务对象是地址集合的聚合根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 {
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;
}