// For Deleting Specialty public static bool DeleteSpecialty(int specid, int UserId) { using (EditorsEntities entity = new EditorsEntities()) { var Topics = (from s in entity.Topics where s.UserID == UserId && s.Type == 2 && s.SpecialtyID == specid select s.TopicID).ToList(); foreach (var TopicId in Topics) { DeleteUserTopic(entity, TopicId, UserId); } //Nuke all auto-queries associated with this specialty entity.lib_DeleteUserAutoQueries(specid, UserId); // Executing lib_DeleteUserAutoQueries stored procedure // Finally, delete the enclosing specialty itself var UserSpecialtyToBeDelete = entity.UserSpecialties.Where(s => s.SpecialtyID == specid && s.UserID == UserId).FirstOrDefault(); if (UserSpecialtyToBeDelete != null) { entity.UserSpecialties.Remove(UserSpecialtyToBeDelete); } entity.SaveChanges(); return(true); } }