Buscando un niño a través de raíces agregadas

El patrón de repositorio sugiere que solo puede extraer raíces agregadas. Pero, ¿cómo recuperaría un solo hijo utilizando solo su identidad única (Child.ID) si no sabe que es padre (raíz)?

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
}

Mi aplicación es sin estado (web), por simplicidad, la solicitud solo contiene el ID del niño.

Estoy pensando en tres enfoques:

Llame a todos los padres y luego pregúnteles educadamente quién es el dueño de este niño.Tenga una rutina especial en el ParentRepository llamada get GetChildByID, que falla un poco en la abstracción del repositorio.Modifique la solicitud para incluir al padre, pero parece innecesario ya que ya tiene una identidad única.

Respuestas a la pregunta(3)

Su respuesta a la pregunta