【问题标题】:How to ignore an inner nested object when using AutoMapper使用 AutoMapper 时如何忽略内部嵌套对象
【发布时间】:2015-08-09 05:45:45
【问题描述】:

你好,我有课:

类用户

public class User
{
    public Int64 Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }        
    public Profile Profile { get; set; } //EF one to one
}

班级简介

    public class Profile 
{
    public Int64 Id { get; set; }
    public string Skype { get; set; }
    public string Phone { get; set; }
    public string Mobile { get; set; }
    public virtual ICollection<Address> Addresses { get; set; }
    public virtual User User { get; set; } //This is because EF Mappings
}

类用户 DTO

public class UserDTO
{
    public string Name { get; set; }
    public string Email { get; set; }        
    public Profile Profile { get; set; }
}

我做了将用户映射到 UserDTO 的配置

Mapper.CreateMap<User, UserDTO>();

由于 Entity Framework 一对一关系,我需要 Profile.User,但我不希望 Profile.User 显示在映射中.

如何忽略 Profile.User?

【问题讨论】:

    标签: c# automapper


    【解决方案1】:

    您可以使用省略 UserUserProfileDTO

    public class UserProfileDTO
    {
        public string Skype { get; set; }
        public string Phone { get; set; }
        public string Mobile { get; set; }
        public ICollection<AddressDTO> Addresses { get; set; }
    }
    
    public class UserDTO
    {
        public string Name { get; set; }
        public string Email { get; set; }
        public UserProfileDTO Profile { get; set; }
    }
    
    Mapper.CreateMap<User, UserDTO>();
    Mapper.CreateMap<Profile, UserProfileDTO>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多