Использование AutoMapper для сопоставления бизнес-объекта с моделью представления списка Razor Page - PullRequest
0 голосов
/ 07 декабря 2018

Я использую Razor Pages, и я не понимаю, как сопоставить Business Entity для просмотра модели с помощью AutoMapper.

Например:

У меня есть бизнес-объект с именем: Product.Моя страница в конечном итоге нуждается в списке IndexModel.Я хочу использовать AutoMapper для сопоставления между продуктом IList и IList IndexModel.

Или я все еще должен просто использовать папку ViewModels с набором ViewModels?Я смог заставить его работать таким образом.

Это работает:

public IList<ProductIndexViewModel> Products { get;set; }

public async Task OnGetAsync()
{
    var productsFromDb = await _productRepository.GetAllAsync();
    Products = _mapper.Map<IList<ProductIndexViewModel>>(productsFromDb);
}

Это не

public int Id { get; set; }
public string Name { get; set;}
// public IList<ProductIndexViewModel> Products { get;set; }

public async Task OnGetAsync()
{
    var productsFromDb = await _productRepository.GetAllAsync();
    Products = _mapper.Map<IList<this>>(productsFromDb);
}
...