Entity Framework - Загрузка связанной сущности на связанных объектах (один ко многим к одному) - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь загрузить объект (a), и у этого объекта есть коллекция объектов (b), к каждому объекту: b прикреплены отдельные объекты.Я сократил код ниже, чтобы показать вам, как он настроен.

Я могу без проблем загрузить «MyImprovement».Я могу в тот же момент загрузить коллекцию «MyCondition».Но мне не удается загрузить «MyComponent», на который есть ссылка в «MyCondition» ...

Мне удалось найти некоторые образцы, используя .Include и .ThenInclude, однако .ThenInclude не существует из того, что яможно увидеть?

Я перепробовал все возможные аспекты этого, и я все еще думаю, что это можно сделать, верно?

Кто-нибудь, кто готов для этой задачи?Я полностью потерян прямо сейчас, поэтому, пожалуйста, помогите!Заранее спасибо!

/ Карл

public class MyImprovement
{
    [Key]
    public int MyImprovementId { get; set; }
    public virtual ICollection<MyCondition> Conditions { get; set; }
}

public class MyCondition
{
    [Key]
    public int MyConditionId { get; set; }
    public int? ComponentId { get; set; }
    public virtual MyComponent ConditionalMyComponent { get; set; }
}

public class MyComponent
{
    [Key]
    public int ComponentId { get; set; }
    public string PDNumber { get; set; }
}     

// Code to load the first 2 levels of objects
MyImprovement improvement = dbx.MyImprovements
                                  .Include("Conditions")
                                  .Where(x => x.ImprovementId == id)
                                        .First();

1 Ответ

1 голос
/ 19 марта 2019

Если вы хотите загружать сложный граф сущностей, вы можете объединить несколько .Include () - Методы со следующим стилем:

MyImprovement improvement = dbx.MyImprovements
                                  .Include("Conditions")
                                  .Include("Conditions.ConditionalMyComponent")
                                  .Where(x => x.ImprovementId == id)
                                        .First();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...