Рассмотрим следующие таблицы базы данных:Сортировка свойства навигации в Entity Framework
CREATE TABLE [dbo].[Step]
(
[StepId] INT NOT NULL PRIMARY KEY IDENTITY,
[OrderIndex] INT NOT NULL
)
CREATE TABLE [dbo].[StepInput]
(
[StepInputId] INT NOT NULL PRIMARY KEY IDENTITY,
[StepId] INT NOT NULL,
[OrderIndex] INT NOT NULL,
CONSTRAINT [FK_StepInput_Step] FOREIGN KEY ([StepId]) REFERENCES [Step]([StepId]) ON DELETE CASCADE,
)
Со следующими Pocos:
public class Step
{
public virtual int StepId { get; set; }
public virtual ICollection<StepInput> StepInputs { get; set; }
}
public class StepInput
{
public int StepInputId { get; set; }
public int StepId { get; set; }
public virtual int OrderIndex { get; set; }
}
Я хотел бы для StepInputs быть заказанные OrderIndex. Есть ли способ настроить свойство навигации, чтобы он автоматически сортировался с помощью EF, так что пользователю Step не нужно каждый раз вызывать StepInputs.OrderBy?
Я использую первую модель базы данных.
Редактировать: Я понял, что могу просто добавить свойство OrderedInputs для Step, которое возвращает StepInputs.OrderBy (...), который решил немедленную проблему, хотя я не уверен в значениях производительности. Мне все еще интересно узнать, есть ли способ установить это в EF без использования специального свойства.