c# - 在 automapper 中创建 IEnumerable 到 IEnumerable /List 的映射
问题描述
当我有收藏时,我遇到了 Automapper 的问题。下面是我的情况
商业模式
public class Member
{
public int MemberId { get; set; }
public int TeamID { get; set; }
public Team Team { get; set; }
}
我想从控制器返回以下模型
public class Member
{
public int MemberId { get; set; }
public string Team { get; set; }
public int TeamId { get; set; }
}.
我已经尝试过类似下面的内容,但团队字符串仍然为空。我相信我必须指定映射。但我是自动映射器的新手,我无法弄清楚。
IEnumerable<Models.Member> ienumerableDest = _mapper.Map<IEnumerable<Entities.Member>, List<Models.Member>>(members);
这是响应
解决方案
我的猜测是你没有在任何地方指定如何映射你的类。
在您的 Entities.Member 类中,您有一个 Team 类型的 Team 属性,但您试图将其映射到字符串,所以它失败了。
在您的配置中,添加一个指定此映射的配置文件,如下所示:
public class AppProfile : Profile
{
public AppProfile()
{
CreateMap<Entities.Member, Model.Member>(MemberList.Destination)
.ForMember(d => d.Team, opt => opt.MapFrom(src => src.Team.Name));
}
}
在此示例中,我假设您的团队对象中有一个属性“名称”。
在您的启动课程中,您应该在 AutoMapper 配置中注册您的个人资料。
推荐阅读
- php - 如何解压二进制字符串由两个字节组成并带有提示(LSB = 0.01 版)
- python - 如何在python中将.csv文件转换为.rpt文件
- r - 将虚拟列添加到标志,因为该行是随机选择的或不随机选择的
- spring-boot - 无法在 Openshift 4.3 的 Java spring boot 应用程序中启用 tls
- python - 如何将 AWS Textract 与 Python 结合使用
- c# - HttpPatch 操作与 JsonPatchDocument 和动态对象问题
- c - 要求用户输入文件名。并且在循环中比要求用户写入和关闭文件。在 c
- regex - 如何从正则表达式中仅返回第二组
- excel - 使用非连续范围的 Excel TREND 函数
- vue.js - 如何在 Vue 中使用 v-for 显示分组项目?