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