【发布时间】:2019-12-08 08:39:11
【问题描述】:
我正在查询由下图中的其他两个表生成的表。 在一个类别中,我可以有几个问题。
使用此查询没有得到我预期的结果:
var result = await _repository.GetQuestionCategory()
.Include(x => x.Category)
.Include(y => y.Question)
.Select(x => new QuestionCategoryViewModel
{
Id = x.Id,
CategoryId = x.Category.Id,
CategoryName = x.Category.Name,
IsRequired = x.IsRequired,
QuestionId = x.Question.Id,
QuestionName = x.Question.Name,
Weigth = x.Weigth
}).GroupBy(x => x.CategoryId).ToListAsync().ConfigureAwait(false);
我怎样才能发送类似这样的结构
{ categoryId, categoryName, IsRiquered, Weigth, questions: [ questionId: questionName: y]}
Mmodel 类别和问题
public class QuestionCategory
{
public Guid Id { get; set; }
public Question Question { get; set;}
public Category Category { get; set;}
public int QuestionId { get; set; }
public int CategoryId { get; set; }
public bool IsRequired { get; set; }
public int Weigth { get; set; }
}
【问题讨论】:
-
您需要使用
GroupBy。你能显示QuestionCategory的类型吗?具体来说,.Question和.Category是什么? -
我正在使用,如上面的代码。因为这是带来矩阵组并且没有条件这个结构:{categoryId, categoryName, IsRiquered, Weigth, questions: [{questionId: questionName: y}]
-
我用模特编辑了这篇文章
-
错误的模型 - 需要
QuestionCategory或属性y.Question和x.Category的定义,而不是它们的类。 -
我更新我的帖子
标签: c# asp.net database linq iqueryable