Jak po prostu mapować ISeter NHibernate na IList za pomocą AutoMapper

Próbuję użyć AutoMappera do mapowania z DTO do mojej domeny.

Moje DTO mogą wyglądać tak:

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

Obiekty mojej domeny:

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

Jak ustawiłbym AutoMappera, aby móc mapować z tych tablic do zestawu. Wygląda na to, że AutoMapper bierze Array i zamienia je na IList, a następnie nie przechodzi na ISet.

Oto wyjątek

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

Mam nadzieję znaleźć prosty ogólny sposób, aby to zrobić, aby zminimalizować infrastrukturę potrzebną do mapowania z DTO na domenę. Każda pomoc jest bardzo mile widziana.



AKTUALIZACJA:
Jak więc modelować MyDomain -> ChildDomain bez uzyskania anemicznego modelu domeny? Rozumiem, że bez logiki biznesowej w MyDomain lub ChildDomain model domeny jest obecnie anemiczny, ale celem było dodanie logiki biznesowej w miarę postępu. Chcę tylko upewnić się, że mój model widoku może zostać przetłumaczony na model domeny i utrwalony.

Co zasugerowałbyś w tym scenariuszu, przechodząc od prostego mapowania między widokiem a domeną, a później dodając reguły biznesowe?

Jeszcze raz dziękuję za pomoc.

questionAnswers(2)

yourAnswerToTheQuestion