Мой SQL работает;Преобразование инструкции SQL в Linq - инструменты не работают
select Question, QuestionOption.QuestionOption, Response.Answer from Questions
left join QuestionOption on (QuestionOption.QuestionId = QuestionS.Id)
left join Response on (Questions.Id = Response.QuestionId)
Where PageNumber = 1 AND (Response.UserId = '6c61c415-1e09-4c16-82bf-fbc1b30e3c5a')
PageNumber и Response.UserId переменные, которые я могу захватить с моей модели, но ни одно из заявлений Linq я не пытался работать, но я не уверен, если это моя Linq или мой ViewModel;
public class GetQuestionViewModel
{
public virtual List<Question> Questions { get; set; }
public int Id { get; set; }
public int PageNumber { get; set; }
public string Question1 { get; set; }
public int QuestionTypeId { get; set; }
public Nullable<int> LinkedTo { get; set; }
public Nullable<int> Options { get; set; }
public Nullable<int> QuestionRanking { get; set; }
public virtual ICollection<QuestionOption> QuestionOptions { get; set; }
public virtual QuestionType QuestionType { get; set; }
public virtual ICollection<Response> Responses { get; set; }
public virtual ICollection<AspNetUser> AspNetUsers { get; set; }
}
Я просто добавил Публичный список Вопросы виртуальных линии моей ViewModel, но он все равно не будет компилироваться.
Я не уверен, что мне нужно AspNetUsers в моей модели, как я схватил его на мой взгляд, в скрытом поле с помощью @ User.Identity.GetUserId(), но я добавил это как мой взгляд перерывы, когда я укажите его в GetQuestionViewModel. Может ли кто-нибудь опубликовать пример того, как это должно быть сделано правильно, или порекомендовать инструмент, который сделает это для меня? Linqer не работает, и я жду поддержки, чтобы вернуться с решением.
Я знаю, что это далеко, так как оно даже не дает правильных вопросов в поле PageNumber, и я удалил все ссылки на Response, поскольку я даже не могу заставить это работать;
// var question = from q in db.Questions
// where q.PageNumber == pageId
// orderby q.Ranking
// select new Template.Models.GetQuestionViewModel()
// { questionId = q.QuestionId,
// questionType = q.QuestionType,
// question1 = q.Question1 };
// return View(question.AsEnumerable());
Покажите Linq вы пробовали. – Magnus