Cómo mapear propiedades de un objeto a una lista.
Quiero mapear los valores de las propiedades de una clase a una lista.
public class categoria
{
public int? categoryACount { get; set; } // 1
public int? categoryBCount { get; set; } // 2
public int? categoryCCount { get; set; } // 3
public int? categoryDCount { get; set; } // 4
}
public class listaCategorias
{
public string tipoCategoria { get; set; } //categoryA,categoryB,categoryC,categoryD
public string codigoCategoria { get; set; } //A,B,C,D
public string descripcionCategoria { get; set; } //ADesc,BDesc,CDesk.DDesc
public string cantidadCategoria { get; set; } //1,2,3,4
}
Aquí la estructura de las clases es diferente y se basa en el tipoCategoria
. Quiero mapearlo a la clase Categoria
. El valor de cantidadCategoria
para cada tipoCategoria
debe ser asignado a las propiedades de la clase Categoria
.
Si tipoCategoria
es “CategoryA”, el valor de cantidadCategoria
debe ser asignado a categoryACount
de la clase categoria
.
davy.ai
Para mapear los valores de las propiedades de la clase
category
a la clasecategoryList
, se puede utilizar la biblioteca AutoMapper en C#. Aquí se explica cómo hacerlo:Category
yCategoryList
:Tenga en cuenta que se ha cambiado el tipo de propiedad
CategoryQuantity
de cadena a entero ya que debe hacer una asignación de tiposint?
con las propiedades deCategory
.MapperConfiguration
y defina el mapeo entre las clases.Aquí estamos indicando a AutoMapper que cree un mapa que asocie la propiedad
CategoryQuantity
de la claseCategoryList
con la propiedadCategoryACount
de la claseCategory
.IMapper
y úsela para mapear los valores de la claseCategoryList
a la claseCategory
.Aquí,
mapper.Map<category>(categoryList)
asignará los valores de las propiedades del objetocategoryList
a las propiedades correspondientes del objetoCategory
.Después de ejecutar dicho código, el objeto
category
tendrá el valor10
asignado a la propiedadCategoryACount
, ya que el valor de la propiedadCategoryQuantity
decategoryList
se asigna a esta propiedad.</categorylist,>