Supongamos que tengo tres clases que son subclases de una clase base:¿Cómo uso AutoMapper para mapear múltiples subclases en una clase?
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; }
}
quisiera asignar éstos a una clase de modelo de vista que se ve así:
public class ViewModel
{
public string BaseName { get; set; }
public string SubName1 { get; set; }
public string SubName2 { get; set; }
public string SubName3 { get; set; }
}
ViewModel
simplemente combina las propiedades en todas las subclases y lo aplana. He intentado configurar la asignación de este modo:
AutoMapper.CreateMap<BaseClass, ViewModel>();
Entonces intenté agarrar los datos de mi base de datos de este modo:
var items = Repo.GetAll<BaseClass>();
AutoMapper.Map(items, new List<ViewModel>());
Sin embargo, lo que termina está sucediendo que sólo la propiedad BaseName
se completará en el ViewModel
. ¿Cómo configuraría AutoMapper para que también mapeara las propiedades en las subclases?
Quizás quiso decir ... (diferentes nombres de subclases) clase pública Subclase2: BaseClass { cadena pública SubName1 {get; conjunto; } } clase pública Subclase2: BaseClass { cadena pública SubName2 {get; conjunto; } } clase pública Subclass3: BaseClass { cadena pública SubName3 {get; conjunto; } } – Brook