Моя проблема возникла, когда я попытался сгруппировать данные из двух таблиц в этом контроллере, как показано ниже:
public class QuestionModelsController : Controller
{
private ApplicationDbContext db = new ApplicationDbContext();
public ActionResult Quiz()
{
var Ans = from ansewrs in db.AnswerModels
join question in db.QuestionModels
on ansewrs.QuestionID equals question.ID
select ansewrs;
var grouped = from j in Ans
group j by j.Question.QuestionText
into gr
select new CheckListModel
{
QuestionText = gr.Key,
Questions = gr
};
return View(grouped.ToList());
}
Мои ViewModels:
public class CheckListModel
{
public string QuestionText { get; set; }
public virtual IEnumerable<QuestionModel> Questions { get; set; }
}
public class QuestionModel
{
public int ID { set; get; }
public string QuestionText { set; get; }
public string SelectedAnswer { set; get; }
public virtual IList<AnswerModel> Answers { set; get; }
}
public class AnswerModel
{
public int ID { set; get; }
public string AnswerText { set; get; }
public int QuestionID { get; set; }
public virtual QuestionModel Question { get; set; }
}
Эта строка Questions = gr
не распознана, поэтому возникнет эта ошибка: Ошибка CS0266 Невозможно неявно преобразовать тип 'System.Linq.IGrouping<string, MyAssembly.AnswerModel>' to 'System.Collections.Generic.IEnumerable<MyAssembly.QuestionModel>'
. Существует явное преобразование (вам не хватает актеров?)
Пожалуйста, помогите мне и большое спасибо