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.