So ordnen Sie IList mit AutoMapper einfach ein NHibernate ISet zu

Ich versuche, AutoMapper zu verwenden, um DTOs meiner Domain zuzuordnen.

Mein DTO könnte so aussehen:

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

Meine Domain-Objekte wie dieses:

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

Wie würde ich AutoMapper einrichten, um in der Lage zu sein, von diesen Arrays zu Sätzen zuzuordnen? Es scheint, als ob AutoMapper die Arrays nimmt und sie in ILists konvertiert. Bei der Konvertierung in ISet schlägt dies fehl.

Hier ist die Ausnahme

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

Ich hoffe, eine einfache generische Möglichkeit zu finden, um die Infrastruktur zu minimieren, die für die Zuordnung von DTOs zu Domain erforderlich ist. Jede Hilfe wird sehr geschätzt.



AKTUALISIEREN:
Wie würde ich dann MyDomain -> ChildDomain modellieren, ohne ein anämisches Domänenmodell zu erhalten? Ich verstehe, dass das Domain-Modell ohne Geschäftslogik in MyDomain oder ChildDomain derzeit anämisch ist, aber das Ziel war, Geschäftslogik im weiteren Verlauf hinzuzufügen. Ich möchte nur sicherstellen, dass mein Ansichtsmodell in das Domänenmodell übersetzt und beibehalten werden kann.

Was schlagen Sie für dieses Szenario vor, wenn Sie von einer einfachen Zuordnung zwischen Ansicht und Domäne wechseln und später Geschäftsregeln hinzufügen?

Danke nochmal für deine Hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage