2014-01-07 23 views
0

考虑以下几点:?有没有一种方法,我可以选择从.INCLUDE只有某些字段(LINQ查询

var questions = _questionsRepository 
    .GetAll() 
    .Where(q => q.Problem.SubTopicId == subTopicId || subTopicId == 0) 
    .Where(q => q.QuestionStatusId == questionStatusId || questionStatusId == 0) 
    .Where(q => q.AssignedTo == assignedTo || assignedTo == "0") 
    .Where(q => q.ModifiedBy == modifiedBy || modifiedBy == "0") 
    .Include(q => q.Problem) 
    .Include(q => q.Answers) 
    .ToList(); 

有没有一种方法,我可以返回问答数据加上只有场从表中的问题/类SubTopicIdProblemId

回答

4

尝试查询

var problems = _questionsRepository 
      .GetAll() 
      .Where(q => q.Problem.SubTopicId == subTopicId || subTopicId == 0) 
      .Where(q => q.QuestionStatusId == questionStatusId || questionStatusId == 0) 
      .Where(q => q.AssignedTo == assignedTo || assignedTo == "0") 
      .Where(q => q.ModifiedBy == modifiedBy || modifiedBy == "0") 
      .Include(q => q.Problem) 
      .Include(q => q.Answers) 
      .Select(x=>new 
       { 
        SubTopicId = x.Problem.SubTopicId, 
        ProblemId = x.Problem.ProblemId 
       }).ToList(); 
+0

缺少')的末尾添加选择''之前.ToList()';?) –

+0

@wudzik - 抱歉,也许我没有EXP好的。我想获得问题的详细信息和答案,但只是问题的一个子集。我可以在.Include(q => q.Problem?)后添加某种选择吗? –

+0

只是一个问题,会导致一个匿名对象吗? – Tico

相关问题