Linq to SQL ordered child collection
- by Matt Connolly
Is there a way to define a default order column from a child collection? In my case, I have a Form entity that has a collection of FormItem entities called FormItems. FormItem has a property called DisplayOrder (int). I want to make sure that any Form entities I return from a method have that collection properly ordered. Is there a way to do this before returning the result?
For example, I tried this but the list is not actually sorted:
var form = context.Forms.FirstOrDefault(x => x.IsDeleted == false && x.FormName == formName);
if (form != null)
{
form.FormItems.OrderBy(x => x.DisplayOrder);
// I can't even figure out a way to cast this next line so that it will compile
// form.FormItems = form.FormItems.OrderBy(x => x.DisplayOrder);
}
return form;
Is there a way to do this without using DataLoadOptions?