首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动映射器和PagedList

自动映射器和PagedList
EN

Stack Overflow用户
提问于 2011-09-04 03:17:46
回答 1查看 1.4K关注 0票数 1

如何映射这样的列表?我的CreateMap会是什么样子?PagedList的类如下所示:

代码语言:javascript
复制
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;
        }
    }
}

我的映射代码:

代码语言:javascript
复制
Mapper.CreateMap<User, UserModel>();
var model = Mapper.Map<PagedList<User>, PagedList<UserModel>>(users); // Not quite sure about this.

当我执行上述操作时,仅映射列表,而不映射其他属性,如TotalCount、PageSize。

EN

回答 1

Stack Overflow用户

发布于 2011-09-04 06:19:38

无论你想出什么解决方案,都需要枚举你的原始列表。你可以这样做:

代码语言:javascript
复制
var modelList = new PagedList<UserModel>(
    userList.Select(u => Mapper.Map<User, UserModel>(u)).AsQueryable(), 
    index, pageSize);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7295316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档