【发布时间】:2013-10-03 18:35:27
【问题描述】:
我有这个转换器类。
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;
}
}
在我有List ---- player.PlayerStats 需要映射的以下场景中,如何返回IEnumerable<StatsModel>?
[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的方法签名是什么? -
玩家GetPlayerById(int id);
-
你需要一个
Tuple<Player,Stats>,就像你指定的那样。 -
如何实现错误消息中指定的 FromMember?
标签: c# asp.net-web-api tuples return-value automapper