我对LINQ有一个奇怪的问题,我希望有人可以向我解释发生了什么。
我有一个模特:
public class AnswerModel
{
public string Question { get; set; }
public IEnumerable<Answer> Answers { get; set; }
}
我想根据这样的视图中的问题获得所有答案的列表:
q1 a1a2a3a4
q2 a1a2a3a4
and so on
答案 0 :(得分:5)
var q = db.Answers.Where(a => a.Question == "q1")
.SelectMany(a => a.Answers).ToList();
答案 1 :(得分: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。
答案 2 :(得分:0)
也许这个?
var view = AnswerModels
.Select(am => new
{
am.Question,
Answers = string.Join("", am
.Answers
.Select(a => a.ToString())
.ToArray())
});