/// <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(); }