Linq-to-Entities working with One-to-Many Relationship and Sorting -


i sort keywords sort property. have one-many relationship between page -> keyword.

question: if perform comprehension query as:

ienumerable<page> query = p in contxt.pages p.id == myid select p;  ienumerable<page> pge = query.first(); 

could expect single page record set page’s properties , 1 keyword collection?

my understanding since there exist one-many relationship, don’t have perform join. linq entity framework should have knowledge of relationship, , return collection.

so understanding, when try sort on keyword.sort, keyword out of scope:

    ienumerable<page> query = p in contxt.pages p.id == myid orderby p.keywords. select p; 

utilizing above understanding thought query incorrect because keywords returned collection, must perform sort follows:

    pagekeywords pagekeywords = new pagekeywords();     keywords keywords;      ienumerable<page> query = p in contxt.pages  p.id == vals.pageid select p;      page pge = query.first();      pagekeywords.keywords = new list<keywords>();      pagekeywords.id = pge.id;     pagekeywords.description = pge.descp;     pagekeywords.title = pge.title;     pagekeywords.showtitle = pge.showtitle;     pagekeywords.keywords = pge.keywords.orderby(k => k.sort);      foreach (var item in pagekeywords.keywords)     {     keywords = new keywords();     keywords.id = item.id;     keywords.name = item.name;     keywords.sort = item.sort;     pagekeywords.keywords.add(keywords);     } 

however did not work. keywords not sorted sort? code above work, need keywords sorted sort property. keywords collection isn't being sorted.

i tried:

pagekeywords.keywords.sort((x, y) => int.compare(x.sort, y.sort)); 

which did not work.

i have tried understand, missing something? suggestions appreciable.

enter image description here

try this:

var query = p in contxt.pages              p.id == vals.pageid              select new pagekeywords                  {                     id = pge.id,                     description = pge.descp,                     title = pge.title,                     showtitle = pge.showtitle,                     keywords = pge.keywords.orderby(k => k.sort)                 }; 

Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -