Я новичок в AutoMapper, и я читаю и читаю вопросы здесь, но я не совсем могу понять, как выглядит очень тривиальный вопрос.
Сначала мои занятия, затем вопрос (ы):
GatewayModel.cs
public class Gateway
{
public int GatewayID { get; set; }
public List<Category> Categories { get; set; }
public ContentType ContentType { get; set; }
// ...
}
public class Category
{
public int ID { get; set; }
public int Name { get; set; }
public Category() { }
public Category( int id ) { ID = id; }
public Category( int id, string name ) { ID = id; Name = name; }
}
public class ContentType
{
public int ID { get; set; }
public int Name { get; set; }
public ContentType() { }
public ContentType( int id ) { ID = id; }
public ContentType( int id, string name ) { ID = id; Name = name; }
}
GatewayViewModel.cs
public class GatewayViewModel
{
public int GatewayID { get; set; }
public int ContentTypeID { get; set; }
public int[] CategoryID { get; set; }
// or public List<int> CategoryID { get; set; }
// ...
}
Из того, что я читал весь день, это то, что я понял до сих пор. Я не знаю, как отобразить int [] (или List, если это необходимо) из ViewModel в List в модели.
Global.asax.cs
Mapper.CreateMap<Gateway, GatewayViewModel>();
Mapper.CreateMap<GatewayViewModel, Gateway>()
.ForMember( dest => dest.ContentType, opt => opt.MapFrom( src => new ContentType( src.ContentTypeID ) ) )
.ForMember( /* NO IDEA ;) */ );
По сути, мне нужно отобразить все элементы int [] CategoryID из ViewModel в свойства идентификатора типа List Categories в модели. Для обратного сопоставления мне нужно сопоставить все идентификаторы из категории Category с моим int [] (или List) CategoryID, но я думаю, что я понял это (еще не получил там). Если мне нужно сделать что-то подобное для обратного отображения, пожалуйста, дайте мне знать.
К вашему сведению, мой int [] CategoryID в моей ViewModel связан с SelectList в моем View.
Хотелось бы, чтобы на сайте проекта CodePlex для AutoMapper была более полная документация, но я рад, что они, по крайней мере, имеют то, что имеют.
Спасибо!