Szukanie dziecka w korzeniach zbiorczych

Wzór repozytorium sugeruje, że można tylko pobierać zagregowane korzenie. Ale jak odzyskałbyś jedno dziecko, używając tylko jego unikalnej tożsamości (Child.ID), jeśli nie wiesz, że jest rodzicem (root)?

class Parent
{
    public int ID { get; set; }
    IEnumerable<Child> Children { get; private set; }
}

class Child
{
    public int ID { get; private set; }
    public virtual Parent Parent { get; private set; } // Navigational model
}

Moja aplikacja jest bezstanowa (web), dla uproszczenia żądanie zawiera tylko identyfikator dziecka.

Myślę o trzech podejściach:

Zadzwoń do wszystkich rodziców, a następnie grzecznie zapytaj ich, kto jest właścicielem tego dziecka.Mieć specjalną procedurę w ParentRepository o nazwie get GetChildByID, która nie powiedzie się abstrakcji repozytorium.Zmodyfikuj żądanie tak, aby obejmowało rodzica, ale wydaje się niepotrzebne, ponieważ masz już unikalną tożsamość.

questionAnswers(3)

yourAnswerToTheQuestion