У меня есть этот класс конвертера.Картирование AutoMapper для этого конкретного сценария
public class StatsConverter : TypeConverter<Tuple<Player,Stats>, StatsModel>
, ITypeConverter<Stats, StatsModel>
{
protected override StatsModel ConvertCore(Tuple<Player, Stats> source)
{
var pm = new StatsModel
{
Id = source.Item2.Id,
PlayerId = source.Item1.Id,
DisplayName = source.Item2.DisplayName,
};
return pm;
}
}
Как возвращать IEnumerable<StatsModel>
в следующем сценарии, где у меня есть List
---- player.PlayerStats
, который должен быть отображен?
[HttpGet("{id:int}/PlayerStats", RouteName = "GetPlayerStats")]
public IEnumerable<StatsModel> GetPlayerStats(int id)
{
var user = this._manager.GetPlayerById(id);
// I can retrieve a "List" of player.PlayerStats.
//But how do I map and return it?
return this._mapper.Map<IEnumerable<StatsModel>>(????)
}
Когда я делаю это
return this._mapper.Map<IEnumerable<StatsModel>>(player.PlayerStats);
Я получаю эту ошибку: Change the type converter source type, or redirect the source value supplied to the value resolver using FromMember
.
Что такое подпись метода '_manager.GetPlayerById'? – Romoku
Player GetPlayerById (int id); – GilliVilla
Вам нужен «Tuple», как вы указали. –
Romoku