Exemplo n.º 1
0
 /// <summary>
 /// Inicializa a instancia.
 /// </summary>
 /// <param name="child">Instancia do filho associado.</param>
 /// <param name="linkInfo">Informações do link.</param>
 /// <param name="childFromModelCreator"></param>
 /// <param name="sourceContext">Contexto de origem de consultas.</param>
 private void Initialize(IEntityList child, EntityLoaderLinkInfo linkInfo, EntityFromModelCreatorHandler childFromModelCreator, Colosoft.Query.ISourceContext sourceContext)
 {
     child.Require("child").NotNull();
     linkInfo.Require("linkInfo").NotNull();
     _child    = child;
     _linkInfo = linkInfo;
     _childFromModelCreator = childFromModelCreator;
     ((IConnectedEntity)this).Connect(sourceContext);
     if (_hasUid == null)
     {
         _hasUid = TypeManager.HasUid(typeof(TEntity));
     }
     if (child is Collections.INotifyCollectionChangedDispatcher)
     {
         ((Collections.INotifyCollectionChangedDispatcher)child).AddCollectionChanged(ChildCollectionChanged, Collections.NotifyCollectionChangedDispatcherPriority.High);
     }
     else
     {
         child.CollectionChanged += ChildCollectionChanged;
     }
 }