一对一关系上的 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 的数据库)包含所需的导航 属性
这是正确答案。
我正在尝试将导航 属性 映射到一对一关系上,但我得到的是空值,这是我的实体
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 的数据库)包含所需的导航 属性这是正确答案。