Procurando por uma criança através das raízes agregadas

O padrão de repositório sugere que você só pode extrair raízes agregadas. Mas como você recuperaria um único filho usando apenas a identidade uniqiue (Child.ID) se você não o conhecesse como pai (raiz)?

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
}

Meu aplicativo é stateless (web), por simplicidade, o pedido contém apenas o ID do filho.

Estou pensando em três abordagens:

Chame todos os pais e pergunte educadamente quem é o dono dessa criança.Tenha uma rotina especial no ParentRepository chamada getChildByID, que meio que falha na abstração do repositório.Modifique a solicitação para incluir o pai, mas parece desnecessário, pois você já tem uma identidade exclusiva.

questionAnswers(3)

yourAnswerToTheQuestion