我在一个相对较旧的项目上更新了Automapper包。而且我很难理解本课程中需要改变的内容(或问题是否存在于其他地方)。
我得到了:
“'ResolutionContext'不包含SourceValue的定义,也没有扩展方法......”
public class PagedListConverter<T1, T2> : ITypeConverter<IPagedList<T1>, IPagedList<T2>>
{
public IPagedList<T2> Convert(ResolutionContext context)
{
var models = (StaticPagedList<T1>)context.SourceValue; // Error
var viewModels = models.Select(Mapper.Map<T1, T2>);
return new StaticPagedList<T2>(viewModels, models.PageNumber,
models.PageSize, models.TotalItemCount);
}
}
答案 0 :(得分:1)
他们改变了ITypeConverter
。所以你需要改变你的代码:
public class PagedListConverter<T1, T2> : ITypeConverter<IPagedList<T1>, IPagedList<T2>>
{
public IPagedList<T2> Convert(
IPagedList<T1> source,
IPagedList<T2> destination,
ResolutionContext context)
{
var models = (StaticPagedList<T1>)source;
var viewModels = models.Select(Mapper.Map<T1, T2>);
return new StaticPagedList<T2>(
viewModels,
models.PageNumber,
models.PageSize,
models.TotalItemCount);
}
}