我已经阅读了很多不同的主题,但我没有找到我想要的。我有一个EF查询,它是这样的:
这个在我意识到没有考虑AnswerKey子集合的Active标志时还是正常工作的。换句话说,这个查询应该加载所有父调查id为3的问题(它确实这样做了),但只加载Active标志为true的AnswerKeys。
我尝试过这个:
但它为每个答案键返回1个问题。因此,如果一个问题有4个答案,它会显示4次...
我该怎么做?
var query = this.ObjectContext.Questions
.Include("AnswerKey").Include("QuestionTypes")
.Where(o => o.SurveyQuestions.Any(o2 => o2.SurveyID == id));
这个在我意识到没有考虑AnswerKey子集合的Active标志时还是正常工作的。换句话说,这个查询应该加载所有父调查id为3的问题(它确实这样做了),但只加载Active标志为true的AnswerKeys。
我尝试过这个:
var query = this.ObjectContext.AnswerKey
.Include("Questions.QuestionTypes")
.Where(ak =>
ak.Active == true &&
ak.Questions.SurveyQuestions.Any(sq => sq.SurveyID == 3) &&
ak.Questions.Active == true)
.AsEnumerable()
.Select(ak => ak.Questions).AsQueryable();
但它为每个答案键返回1个问题。因此,如果一个问题有4个答案,它会显示4次...
我该怎么做?