Cómo simplemente mapear un NHibernate ISet a IList usando AutoMapper

Estoy tratando de usar AutoMapper para asignar desde DTO a mi dominio.

Mis DTO podrían verse así:

public class MyDTO
{
    public string Name { get; set; }
    public bool OtherProperty { get; set; }

    public ChildDTO[] Children { get; set;}
}

public class ChildDTO
{
    public string OtherName { get; set; }
}

Mi dominio se opone a esto:

public class MyDomain
{
    public string Name { get; set; }
    public bool OtherProperty { get; set; }
    public ISet<ChildDomain> Children { get; set; }
}

public class ChildDomain
{
    public string OtherName { get; set; }
}

¿Cómo puedo configurar AutoMapper para poder asignar desde estos Array a los de Set? Parece que AutoMapper está tomando los Array y los está convirtiendo en IList y luego falla en la conversión a ISet.

Aquí está la excepción

Unable to cast object of type 'System.Collections.Generic.List`1[DataTranser.ChildDTO]' to type 'Iesi.Collections.Generic.ISet`1[Domain.ChildDomain]'.

Espero encontrar una forma genérica simple de hacer esto para poder minimizar la infraestructura necesaria para mapear de DTO a Dominio. Cualquier ayuda es muy apreciada.



ACTUALIZAR:
Entonces, ¿cómo modelaría MyDomain -> ChildDomain sin terminar con un modelo de dominio anémico? Entiendo que sin lógica empresarial en MyDomain o ChildDomain, el modelo de dominio actualmente es anémico, pero el objetivo era agregar lógica empresarial a medida que avanzamos. Solo quiero asegurarme de que mi modelo de vista se puede traducir al modelo de dominio y persistir.

¿Qué sugeriría para este escenario, pasar de una asignación simple entre vista y dominio y luego agregar reglas de negocios?

De nuevo, gracias por tu ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta