public void RemoveCollection(IEntityCollectionBase <TEntity> collection)
        {
            if (collection == null)
            {
                throw new ArgumentNullException(nameof(collection));
            }

            ManagedCollections.Remove(collection);
        }
        public void AddCollection(IEntityCollectionBase <TEntity> collection)
        {
            if (collection == null)
            {
                throw new ArgumentNullException(nameof(collection));
            }

            if (!ManagedCollections.Contains(collection))
            {
                ManagedCollections.Add(collection);
            }
        }