
AI
自动映射是在软件开发过程中常用的一种技术,它可以帮助我们将一个对象的属性值映射到另一个对象中。然而,有时候我们会遇到一些问题,比如在使用 Automapper 时无法将 IEnumerable 类型的对象进行映射。在本文中,我们将探讨这个问题,并提供一些解决方案。
问题描述在使用 Automapper 进行对象映射时,我们通常可以很轻松地将一个对象的属性值映射到另一个对象中。例如,我们有一个名为 User 的类和一个名为 UserDTO 的类,它们具有相同的属性,我们可以使用 Automapper 将 User 对象映射到 UserDTO 对象中。然而,当我们尝试映射一个 IEnumerablecsharpusing AutoMapper;using System;using System.Collections.Generic;namespace AutoMapperExample{ class User { public string Name { get; set; } public int Age { get; set; } } class UserDTO { public string Name { get; set; } public int Age { get; set; } } class Program { static void MAIn(string[] args) { var config = new MapperConfiguration(cfg => { cfg.CreateMap<User, UserDTO>(); cfg.CreateMap<IEnumerable<User>, List<UserDTO>>() .ConvertUsing(users => Mapper.Map<IEnumerable<User>, List<UserDTO>>(users)); }); var mapper = config.CreateMapper(); var users = new List<User> { new User { Name = "Alice", Age = 25 }, new User { Name = "Bob", Age = 30 } }; var userDTOs = mapper.Map<IEnumerable<User>, List<UserDTO>>(users); foreach (var userDTO in userDTOs) { Console.WriteLine($"Name: {userDTO.Name}, Age: {userDTO.Age}"); } } }}在上面的代码中,我们首先创建了一个 MapperConfiguration 对象,并使用 CreateMapCopyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号