我在使用 LINQ 时遇到问题,我想知道存储库中是否有针对此代码的快速解决方案
GetCompletePackQuestion(int id)
{
var query = from q in DbSet where q.id == id
join a in DbContext.Set<answers>() on id equals a.question_id
join cc in DbContext.Set<correct_answers>() on id equals cc.question_id
select new CompletePackModel
{
Id = q.id,
Question = q.question,
CorrectAnswer = cc.answers.id,
Answers = q.answers.Select(ans => ans.answer)
};
return query.SingleOrDefault();
}
CompletePackModel 具有作为字符串列表的 Answers 属性。所以问题是:一个问题有很多答案,所以当 q.id 是一个 int 时,询问一个字符串,而 answer_id 是一个单一的 id(其实我应该使用字符串在连接到该 id 的表中)...最后一个 a.answer 应该是一个列表...
有没有办法解决这个问题?
谢谢
为什么它在查询中给我 3 个结果而不是一个?