-1

我对 LINQ 有一个奇怪的问题,我希望有人可以向我解释发生了什么。

我有一个模型:

public class AnswerModel
{
   public string Question { get; set; }
   public IEnumerable<Answer> Answers { get; set; }
}

我想在这样的视图中根据问题获取所有答案的列表:

q1 a1a2a3a4

q2 a1a2a3a4

and so on
4

3 回答 3

5
var q = db.Answers.Where(a => a.Question == "q1")
       .SelectMany(a => a.Answers).ToList();
于 2013-05-23T07:57:31.277 回答
0
var dic = list.ToDictionary<string, string>(t=>t.Question, t=> t.Answers == null ? string.Empty : String.Join(',', t.Answers.Select(t=>t.Name));

这将是:

q1 a1,a2,a3,a4

q2 a1,a2,a3,a4

您可以将 ',' 替换为 String.Empty。

于 2013-05-23T08:10:14.590 回答
0

也许这个?

var view = AnswerModels
    .Select(am => new
                      {
                          am.Question, 
                          Answers = string.Join("", am
                                                    .Answers
                                                    .Select(a => a.ToString())
                                                    .ToArray())
                      });
于 2013-05-23T08:17:53.540 回答