c# - Nested list database query in linq -
i trying fill view model database query includes info parent , kid tables.
i can fill parent view model part, includes list of type , not sure how fill kid list using linq.
here view models:
public class galleryfilevm { public galleryfilevm() { this.galleryfiledescvms = new list<galleryfiledescvm>(); } public int mediaid { get; set; } public int filetypeid { get; set; } public string filename { get; set; } public string filenameslug { get; set; } public int sortorder { get; set; } public int origh { get; set; } public int origw { get; set; } public list<galleryfiledescvm> galleryfiledescvms { get; set; } } public class galleryfiledescvm { public string drive { get; set; } public string prefix { get; set; } public string rdmprefix { get; set; } public int filetypeid { get; set; } public int filewidth { get; set; } public int fileheight { get; set; } public string fillclass { get; set; } } and here linq far got:
pagepublishvm.galleryfilevms = ( tn in db.media fd in db.filedescendants tn.galleryid == galleryid && fd.fileid == tn.fileid orderby tn.sortorder select new galleryfilevm { mediaid = tn.mediaid, filetypeid = (int)tn.file.filetypeid, filename = tn.file.filename, filenameslug = tn.file.filenameslug, sortorder = tn.sortorder, origh = tn.origheight, origw = tn.origwidth, galleryfiledescvms = ????(this should list<galleryfiledescvm>) }) .tolist(); the ???? unclear. need fill fd range variable. though fd of type galleryfiledescvm.
thanks much help!
you need query filedescendants sub-query - slight rearrangement need.
this construction should - i'm unsure of schema galleryfiledescvm assignment off, should point in right direction
pagepublishvm.galleryfilevms = ( tn in db.media tn.galleryid == galleryid orderby tn.sortorder select new galleryfilevm { mediaid = tn.mediaid, filetypeid = (int)tn.file.filetypeid, filename = tn.file.filename, filenameslug = tn.file.filenameslug, sortorder = tn.sortorder, origh = tn.origheight, origw = tn.origwidth, galleryfiledescvms = (from fd in db.filedescendants fd.fileid == tn.fileid select new galleryfiledescvm { // guessing here because don't have schema drive = fd.drive, prefix = fd.prefix, // etc. }).tolist() }) .tolist(); c# linq entity-framework-5
No comments:
Post a Comment