Mon objet métier client est une racine agrégée pour une collection d'adresses.Suppression des enregistrements enfants de la racine agrégée à l'aide du cadre d'entité
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
}
Mon contexte contient
public DBSet<Customer> Customers {get;set;}
mais pas DBSet pour adresse parce que je veux que le client soit la racine globale.
Cependant, lorsque j'utilise
Customer.Addresses.RemoveAll(x=>x.TaggedToDelete)
Le CUSTOMER_ID dans la table d'adresses est définie sur null au lieu de l'adresse étant retiré de la base de données. Comment puis-je supprimer l'adresse de la base de données à l'aide de la racine agrégée?
J'ai regardé How to remove child one to many related records in EF code first database?
mais il utilise un DBSet pour l'enregistrement enfant.