public Boolean DeleteFields(ParticipantField field) { var questions = (from item in session.Query<DemographicQuestion>() where item.linkedField!=null && item.linkedField.fieldID == field.fieldID select item).ToList(); QuestionController p = new QuestionController(); Poll poll; if (questions != null && questions.Count != 0) { poll = (from item in session.Query<Poll>() where item.questions.Contains(questions.First()) select item).FirstOrDefault(); foreach (DemographicQuestion q in questions) { p.ConvertToCustom(q.questionID, poll.pollID); if ((from item in session.Query<ParticipantField>() where item.fieldID==field.fieldID select item).Count()==0) return true; } } foreach (ParticipantFieldValue pv in field.fieldValues) { pv.participant = null; pv.groupd = null; } session.Delete(field); return true; }