【发布时间】:2019-12-12 21:03:03
【问题描述】:
我试图在getAllQuestions() 方法中返回List<QuestionsAndChoices>,但我收到了这个错误
Cannot implicitly convert type 'System.Collections.Generic.List<System.Linq.IGrouping<int, HowWellDoYouKnowMeAPI.Models.models.QuestionsAndChoices>>' to 'System.Collections.Generic.List<HowWellDoYouKnowMeAPI.Models.models.QuestionsAndChoices>
获取所有问题
public List<QuestionsAndChoices> getAllQuestions()
{
List<QuestionsAndChoices> questionsAndChoices1 = context.quizQuestionAndChoices.
Join(context.quizQuestions, QandC => QandC.QuizQuestions.QuizQuestionsId, qustions => qustions.QuizQuestionsId, (QandC, qustions) =>
new
{
QandC,
qustions
}).
Join(context.quizChoices, QandC1 => QandC1.QandC.QuizChoicesId, choices => choices.QuizChoicesId, (QandC1, choices) =>
new QuestionsAndChoices
{
QuestionId = QandC1.qustions.QuizQuestionsId,
Question = QandC1.qustions.Questions,
Choices = choices,
}).GroupBy(e => e.QuestionId).ToList();
return questionsAndChoices1;
}
QuestionsAndChoices类
public class QuestionsAndChoices
{
public int QuestionId { get; set; }
public string Question { get; set; }
public List<QuizChoices> Choices { get; set; }
}
QuizQuestionAndChoices类
public class QuizQuestionAndChoices
{
public int QuizQuestionAndChoicesID { get; set; }
public int QuizChoicesId { get; set; }
public int QuizQuestionsId { get; set; }
public QuizChoices quizChoices { get; set; }
public QuizQuestions QuizQuestions { get; set; }
}
quizQuestions类
public class QuizQuestions
{
public int QuizQuestionsId { get; set; }
public string Questions { get; set; }
public List<QuizzerQCdetails> quizzerQCdetails { get; set; }
public List<QuizQuestionAndChoices> QuizQuestionAndChoices { get; set; }
}
QuizChoices类
public class QuizChoices
{
public int QuizChoicesId { get; set; }
public string Choice { get; set; }
public List<QuizzerQCdetails> quizzerQCdetails { get; set; }
public List<QuizQuestionAndChoices> quizQuestionAndChoices { get; set;
}
我希望这样的输出
{
"questionId":1,
"question":"q1",
"choices":{
{
"quizChoicesId":1,
"choice":"1c1",
"quizzerQCdetails":null,
"quizQuestionAndChoices":null
},
{
"quizChoicesId":2,
"choice":"1c2",
"quizzerQCdetails":null,
"quizQuestionAndChoices":null
}
}
}
但是我得到了这个输出
@IbraHimM.Nada我已经通过了那个代码,但是我得到了这样的输出
{
"questionId":1,
"question":"q1",
"choices":{
{
"quizChoicesId":1,
"choice":"1c1",
"quizzerQCdetails":null,
"quizQuestionAndChoices":null
}
}
}
,
{
"questionId":1,
"question":"q1",
"choices":{
{
"quizChoicesId":2,
"choice":"1c2",
"quizzerQCdetails":null,
"quizQuestionAndChoices":null
}
}
}
【问题讨论】:
-
请检查这个问题我认为它会有所帮助stackoverflow.com/questions/8521025/…
-
@IbraHimM.Nada 谢谢,我浏览了那篇文章,但得到了像上面这样的输出(更新了问题),这是不正确的
-
您的预期输出错误。不应该是“选择”:“2c1”,应该是“选择”:“1c2”,
-
@jdweng 抱歉,我更新了我的代码。谢谢;)
-
你为什么有
.GroupBy(e => e.QuestionId)?是不是因为您希望许多问题具有相同的 ID,然后您想将所有共享 ID 的问题分组到“组”中,然后返回这些组的列表?因为这就是你正在做的事情。然后你有一个List<>groupings ofQuestionsAndChoices。那不是简单的QuestionsAndChoices列表。也许您只是想删除.GroupBy(e => e.QuestionId)的东西?你的意思是.OrderBy吗?
标签: c# asp.net-mvc entity-framework linq