如何使用 AutoMapper 将对象列表转换为整数列表?

发布于 2024-09-24 09:39:01 字数 989 浏览 0 评论 0原文

我有一个 Student 对象:

public class Student
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

和一个 Classroom 对象:

public class Classroom
{
    public List<Student> Students { get; set; }
}

我想使用 AutoMapper 将学生列表转换为学生 ID 列表:

public class ClassroomDTO
{
    public List<int> StudentIds { get; set; }
}

如何配置 AutoMapper 来执行以下操作这个转换?

回答:

为了扩展我的问题和吉米的答案,这就是我最终所做的:

Mapper.CreateMap<Student, int>().ConvertUsing(x => x.Id);
Mapper.CreateMap<Classroom, ClassroomDTO>()
      .ForMember(x => x.StudentIds, y => y.MapFrom(z => z.Students));

AutoMapper 足够聪明,可以完成剩下的工作。

I have a Student object:

public class Student
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

And a Classroom object:

public class Classroom
{
    public List<Student> Students { get; set; }
}

I want to use AutoMapper to convert the list of students to a list of student IDs:

public class ClassroomDTO
{
    public List<int> StudentIds { get; set; }
}

How do I configure AutoMapper to do this conversion?

Answer:

To expand on my question and Jimmy's answer, this is what I ended up doing:

Mapper.CreateMap<Student, int>().ConvertUsing(x => x.Id);
Mapper.CreateMap<Classroom, ClassroomDTO>()
      .ForMember(x => x.StudentIds, y => y.MapFrom(z => z.Students));

AutoMapper was smart enough to do the rest.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

追星践月 2024-10-01 09:39:01

您需要一个自定义类型转换器:

Mapper.CreateMap<Student, int>().ConvertUsing(src => src.Id);

You'll need a custom type converter:

Mapper.CreateMap<Student, int>().ConvertUsing(src => src.Id);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文