gpt4 book ai didi

AutoMapper 问题 - 列表不会映射

转载 作者:行者123 更新时间:2023-12-04 06:56:57 25 4
gpt4 key购买 nike

我有以下类(class):

public class Account
{
public int AccountID { get; set; }
public Enterprise Enterprise { get; set; }
public List<User> UserList { get; set; }
}

我有以下方法片段:
Entities.Account accountDto = new Entities.Account();
DAL.Entities.Account account;

Mapper.CreateMap<DAL.Entities.Account, Entities.Account>();
Mapper.CreateMap<DAL.Entities.User, Entities.User>();

account = DAL.Account.GetByPrimaryKey(this.Database, primaryKey, withChildren);

Mapper.Map(account,accountDto);
return accountDto;

当调用该方法时,Account 类被正确映射,但 Account 类中的用户列表没有(它是 NULL)。列表中有四个应该被映射的用户实体。有人能告诉我可能有什么问题吗?

最佳答案

尽量不要传入 accountDto,让 AutoMapper 为您创建它。当您映射到现有目标对象时,AutoMapper 会做出一些假设,即您不会有任何已经为空的目标集合。相反,请执行以下操作:

var accountDto = Mapper.Map<DAL.Entities.Account, Entities.Account>(account);

您应该检查的最后一件事是您的配置是否有效,因此您可以尝试:
Mapper.AssertConfigurationIsValid();

在那些 CreateMap 调用之后。这会检查以确保所有内容都在目标类型方面正确排列。

关于AutoMapper 问题 - 列表不会映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com