【发布时间】:2011-09-03 19:17:46
【问题描述】:
如何映射这样的列表?我的 CreateMap 会是什么样子? PagedList 的类如下所示:
public interface IPagedList
{
int TotalCount
{
get;
set;
}
int PageIndex
{
get;
set;
}
int PageSize
{
get;
set;
}
bool IsPreviousPage
{
get;
}
bool IsNextPage
{
get;
}
}
public class PagedList<T> : List<T>, IPagedList
{
public PagedList(IQueryable<T> source, int index, int pageSize)
{
this.TotalCount = source.Count();
this.PageSize = pageSize;
this.PageIndex = index;
this.AddRange(source.Skip(index * pageSize).Take(pageSize).ToList());
}
public PagedList(List<T> source, int index, int pageSize)
{
this.TotalCount = source.Count();
this.PageSize = pageSize;
this.PageIndex = index;
this.AddRange(source.Skip(index * pageSize).Take(pageSize).ToList());
}
public PagedList()
{
}
public int TotalCount
{
get;
set;
}
public int PageIndex
{
get;
set;
}
public int PageSize
{
get;
set;
}
public bool IsPreviousPage
{
get
{
return (PageIndex > 0);
}
}
public bool IsNextPage
{
get
{
return (PageIndex * PageSize) <= TotalCount;
}
}
}
我的映射代码:
Mapper.CreateMap<User, UserModel>();
var model = Mapper.Map<PagedList<User>, PagedList<UserModel>>(users); // Not quite sure about this.
当我执行上述操作时,只有列表被映射,其他属性如 TotalCount、PageSize 没有被映射。
【问题讨论】:
-
User和UserModel类的外观如何?这就是您最后要映射的内容,但您没有显示任何内容。 -
@Darin Dimitrov 它们可以是任何东西,它们可以正常映射,只是当我将它们放入此 PagedList 时出现问题。
-
本主题讨论的正是这个问题:stackoverflow.com/questions/2070850/…