Disons que je l'entité comme ceci:Comment gérer la propriété de navigation Entity Framework event CollectionChanged?
public class Node
{
public int Id { get; set; }
public string Name { get; set; }
public Node Parent { get; set; }
public virtual ObservableCollection<Node> Nodes { get; set; }
public Node()
{
Nodes = new ObservableCollection<Node>();
Nodes.CollectionChanged += Nodes_CollectionChanged;
}
private void Nodes_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
// do something just if the USER adds or romoves item.
}
}
Mon problème est que la fonction Nodes_CollectionChanged
est également appelée lorsque EF
initialise la propriété pour la première utilisation, et non seulement lorsque l'utilisateur ajoute ou romoves un élément.
Ma question est comment puis-je répondre uniquement lorsque l'utilisateur ajoute ou supprime un élément de la liste?
'ObjectMaterialized' se produit avant la' Nodes' se remplit. Les «noeuds» se remplissent lors de la première utilisation. comment puis-je savoir que 'Nodes' est déjà plein? – magicode
@magicode Oui, j'ai vérifié - l'événement a été déclenché après qu'un élément de la collection enfant a été ajouté, c'est étrange. Avez-vous trouvé une solution? – Backs