Давайте предположим, что у меня есть три класса, которые являются подклассами базового класса:
public class BaseClass
{
public string BaseName { get; set; }
}
public class Subclass1 : BaseClass
{
public string SubName1 { get; set; }
}
public class Subclass2 : BaseClass
{
public string SubName2 { get; set; }
}
public class Subclass3 : BaseClass
{
public string SubName3 { get; set; }
}
Я хотел бы сопоставить их с классом ViewModel, который выглядит следующим образом:
public class ViewModel
{
public string BaseName { get; set; }
public string SubName1 { get; set; }
public string SubName2 { get; set; }
public string SubName3 { get; set; }
}
ViewModel
просто объединяет свойства всех подклассов и выравнивает их.Я попытался настроить сопоставление следующим образом:
AutoMapper.CreateMap<BaseClass, ViewModel>();
Затем я попытался получить данные из моей базы данных следующим образом:
var items = Repo.GetAll<BaseClass>();
AutoMapper.Map(items, new List<ViewModel>());
Однако в итоге получается, что только BaseName
свойство будет заполнено в ViewModel
.Как настроить AutoMapper так, чтобы он также отображал свойства в подклассах?