private void OnAddOrUpdateComplete <TEntity>(Revision <TEntity> revision) where TEntity : class, T
 {
     ProviderRepositoryHelper.SetProviderAliasOnId(ProviderMetadata, revision.MetaData);
     ProviderRepositoryHelper.SetProviderAliasOnId(ProviderMetadata, revision.Item);
     this.SetRelationProxyLazyLoadDelegate(revision);
     //RevisionDataAddedOrUpdated.Add(revision.MetaData);
     //EntityDataAddedOrUpdated.Add(revision.Item);
     RevisionsAddedOrUdpated.Add(revision);
 }
 private void AutoAddRelationProxies()
 {
     if (RegisterRelatedEntities != null)
     {
         var changedItems = RevisionsAddedOrUdpated.Select(x => x.Item).Distinct();
         var flatList     = changedItems.SelectMany(y => y.RelationProxies.GetManualProxies()).ToArray();
         foreach (var relationProxy in flatList)
         {
             RegisterRelatedEntities.Invoke(relationProxy.Item);
         }
     }
 }