一对一关系上的 Automapper 映射导航 属性

Automapper maping navigation property on a one to one relationship

我正在尝试将导航 属性 映射到一对一关系上,但我得到的是空值,这是我的实体

   public class Client
   {
        public int ClientId { get; set; }
        public string Name { get; set; }
        public int BranchId { get; set; }
        public Branch Branch{ get; set; }
   }
   public class Branch
   {
        public int BranchId { get; set; }
        public string Name { get; set; }
   }

这是我的 Dto

   public class ClientDto
   {
        public int ClientId { get; set; }
        public string Name { get; set; }
        public string BranchName { get; set; }
   }

这些是我试过的映射配置

   public class MappingProfile : Profile
    {
        public MappingProfile()
        {
            CreateMap<Client, ClientDto>().
                ForMember(
                dest => dest.BranchName, 
                opt => opt.MapFrom (src => src.Branch.Name)
                );
        }
    }

           CreateMap<Client, ClientDto>().IncludeMembers(src => src.Branch);
           CreateMap<Branch, ClientDto>().ForMember(
              dest => dest.BranchName, 
              opt => opt.MapFrom(b => b.Name)
            );

在这两种情况下,我在 BranchName 上都得到了空值,谢谢。

请使用 Include – S.M. JAHANGIR

确保您的实际对象(通常来自使用 ef 的数据库)包含所需的导航 属性

这是正确答案。