private AssociationCollectionHelper GetInverseCollectionHelper(T item) { PropertyInfo inversePropInfo = item.GetType().GetProperty(associationAttr.InversePropertyName); Debug.Assert(inversePropInfo != null, "Fail to find inverse property " + associationAttr.InversePropertyName); var associationCollHelper = new AssociationCollectionHelper(item, inversePropInfo); return(associationCollHelper); }
public void Add(T item) { if (associationAttr == null) { AddInternal(item); } else { context.Update(item); AssociationCollectionHelper associationCollHelper = GetInverseCollectionHelper(item); associationCollHelper.Add(owner); } }
private bool RemoveInverseAssociation(T item) { AssociationCollectionHelper associationCollHelper = GetInverseCollectionHelper(item); return(associationCollHelper.Remove(owner)); }