2014-11-21 3 views
3

Имея эти 2 класса в качестве примера:Пропустить свойство навигации при отображении в Automapper

public class Product 
{ 
    public int Id {get; set;} 
    public int CategoryId {get; set;} 
} 

public class ProductDTO 
{ 
    public int Id {get; set;} 
    public int CategoryId {get; set;} 
    public Category Category {get; set;} 
} 

Как я могу игнорировать ProductDTO.Category при отображении bidrectionally?

ответ

2

Предполагая, что вы имеете в виду двунаправленный, то есть оба класса имеют член Category, который вы хотите игнорировать, вы можете использовать .ReverseMap().

Mappings

Mapper.CreateMap<Product, ProductDTO>()     
       .ForMember(dest => dest.Category, opt => opt.Ignore()).ReverseMap(); 

Пример Модели

public class Product 
    { 
     public int Id {get; set;} 
     public int CategoryId {get; set;} 
     public Category Category {get; set;} 
    } 

    public class ProductDTO 
    { 
     public int Id {get; set;} 
     public int CategoryId {get; set;} 
     public Category Category {get; set;} 
    } 

    public class Category 
    { 

    } 

Working Fiddle

Смежные вопросы