Во-первых, сделайте FormItems частными и измените имя на PrivateFormNames в конструкторе.
Чем вы должны быть в состоянии объявить:
partial class Form
{
public IQueryable<FormItem> FormItems
{
get { return PrivateFormItems.OrderBy(x => x.DisplayOrder); }
}
}
Я подумаю, как сделать это виртуальным ... Как-то так:
Вы можете создать производный класс для Form в linq digram и установить наследование таким образом, чтобы он всегда создавал производный класс Form (можно указать наследование по умолчанию).
Чем вы можете пометить FormItems как виртуальный и переопределить его в производном классе:
partial class FormDerived
{
public override IQueryable<FormItem> FormItems
{
get { return base.FormItems.OrderBy(x => x.DisplayOrder); }
}
}
и ВСЕ linq и приложение начнут использовать упорядоченный список. Единственный способ получить его неупорядоченным будет использовать context.FormItems.