Como simplesmente mapear um ISet do NHibernate para IList usando o AutoMapper

Estou tentando usar o AutoMapper para mapear do DTO para o meu domínio.

Meu DTO pode ser assim:

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; }
}

Meu domínio objetos como este:

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; }
}

Como eu configuraria o AutoMapper para poder mapear esses Array's para Set's? Parece que o AutoMapper está pegando os Array's e convertendo-os em IList's e falhando na conversão para ISet.

Aqui está a exceção

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

Espero encontrar uma maneira genérica simples de fazer isso para que eu possa minimizar a infraestrutura necessária para mapear de DTO's a Domínios. Qualquer ajuda é muito apreciada.



ATUALIZAR:
Então, como eu modelaria MyDomain -> ChildDomain sem acabar com um modelo de domínio anêmico? Eu entendo que sem lógica de negócios em MyDomain ou ChildDomain o modelo de domínio é anêmico no momento, mas o objetivo era adicionar lógica de negócios à medida que avançamos. Eu só quero garantir que o meu Modelo de Visão possa ser traduzido para o modelo de domínio e persistido.

O que você sugeriria para esse cenário, passando de um mapeamento simples entre visualização e domínio e depois adicionando regras de negócios?

Obrigado novamente por sua ajuda.

questionAnswers(2)

yourAnswerToTheQuestion