У меня есть контекст данных со списком конвейеров. Я хочу запросить один конвейер, содержащий все его свойства и подчиненные свойства. Один трубопровод имеет список этапов. Базовый тип этапа является абстрактным. В списке могут быть этапы разных дочерних типов, например, это SpecialStage. У SpecialStage есть свойство Settings типа SpecialStageSettings. Я особенно хочу загрузить этот объект SpecialStageSettings в запросе.
В Entity Framework 6.x я попытался
var pipeline = context.Pipelines.Include(x => x.Stages).SingleOrDefault(x => x.Id == idOfAddedPipeline);
, но это не работает полностью, поскольку свойство Settings в SpecialStage тип остается нулевым. Как я могу включить все вложенные свойства и вложенные свойства в результат запроса?
Модель данных следующая:
public abstract class EntityBaseModel<TKey>
{
public TKey Id { get; set; }
}
public class Pipeline : EntityBaseModel<string>
{
public List<Stage> Stages { get; set; }
}
public abstract class Stage : EntityBaseModel<string> { }
public class SpecialStage : Stage
{
public SpecialStageSettings Settings { get; set; }
}
public abstract class StageSettings : EntityBaseModel<string> { }
public class SpecialStageSettings : StageSettings
{
public double Timeout { get; set; }
public int TriggerMode { get; set; }
}