/// <summary>
        /// Delete all relationships of Entity1
        /// </summary>
        /// <param name="entity1ID"></param>
        /// <param name="navigationProperty"></param>
        public void DeleteAllRelationship(int entity1ID, string navigationProperty)
        {
            T1 t1 = Entities1.FirstOrDefault(x => x.Id == entity1ID);

            var navigationPropertyAux = t1.GetType().GetProperty(navigationProperty).GetValue(t1);

            ((ICollection <T2>)navigationPropertyAux).Clear();

            this.dbContext.SaveChanges();
        }
        /// <summary>
        /// Delete a set of relationships
        /// </summary>
        /// <param name="entity1ID"></param>
        /// <param name="listID"></param>
        /// <param name="navigationProperty"></param>
        public void DeleteRelationship(int entity1ID, List <int> listID, string navigationProperty)
        {
            T1 t1 = Entities1.FirstOrDefault(x => x.Id == entity1ID);

            var navigationPropertyAux = t1.GetType().GetProperty(navigationProperty).GetValue(t1);

            foreach (var id in listID)
            {
                T2 t2 = Entities2.FirstOrDefault(x => x.Id == id);
                ((ICollection <T2>)navigationPropertyAux).Remove(t2);
            }

            this.dbContext.SaveChanges();
        }