Как просто сопоставить NHibernate ISet с IList с помощью AutoMapper
Я пытаюсь использовать AutoMapper для отображения из DTO в мой домен.
Мой DTO может выглядеть так:
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; }
}
Мой домен объектов, таких как это:
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; }
}
Как бы я настроить AutoMapper, чтобы иметь возможность отображать из этих массивов в Set. Похоже, что AutoMapper берет массивы и конвертирует их в IList, а затем не может конвертировать в ISet.
Вот исключение
Unable to cast object of type 'System.Collections.Generic.List`1[DataTranser.ChildDTO]' to type 'Iesi.Collections.Generic.ISet`1[Domain.ChildDomain]'.
Я надеюсь найти простой общий способ сделать это, чтобы я мог минимизировать инфраструктуру, необходимую для отображения из DTO в Домен. Любая помощь очень ценится.
ОБНОВИТЬ:
Итак, как бы я смоделировал MyDomain -> ChildDomain без использования модели анемичного домена? Я понимаю, что без бизнес-логики в MyDomain или ChildDomain модель домена в настоящее время анемична, но цель состояла в том, чтобы добавить бизнес-логику по мере нашего продвижения вперед. Я просто хочу убедиться, что моя модель представления может быть преобразована в модель предметной области и сохранена.
Что бы вы предложили для этого сценария, перейдя от простого отображения между представлением и доменом, а затем добавив бизнес-правила?
В очередной раз благодарим за помощь.