Может кто-нибудь дать мне несколько советов о том, как я могу использовать LINQ для заполнения своей модели представления одним запросом / командой ...
По сути, у меня есть модель представления, которая выглядит примерно так:
public class ReportViewModel
{
public string ReportName {get; set;}
public List<Section> Sections {get; set;}
}
Мои модели - это что-то вроде
public class Report
{
public int ReportId {get; set;}
public string ReportName {get; set;}
public virtual ICollection<Section> sections {get; set;}
}
public class Section
{
public int SectionId {get; set;}
public int ReportId {get; set;}
public string SectionName {get; set;}
public string SectionData {get; set;}
}
И что я хочу сделать, это создать запрос ссылки, который будет заполнять список всех имен отчетов и их разделов + данные .. ... что-то вроде
List<ReportViewModel> rvm = await _context.Report.SelectMany(r => r.SectionData).ToListAsync();
или
List<ReportViewModel> sections = await
(
from r in _context.Reports
from s in r.Sections
select new ReportViewModel() { ReportName = r.ReportName, Sections = s}
).ToListAsync();
, но я не могу заставить ни один из них работать ...
Может кто-нибудь предложить мнекакой-нибудь совет или указываете мне направление ответа?
(Кроме того, это на самом деле не моя модель зрения или модель, но, надеюсь, должна дать представление о том, чего я пытаюсь достичь).
Ура,
Дан