将条件映射为true或忽略定位

时间:2019-09-29 06:32:18

标签: c# .net-core automapper

我在DTO和实体上有一个“ IsActive”字段。

 public class Dto {
    public int Id {get;set;}
    public bool IsActive {get;set;}
 }

 public class Entity {
    public int Id {get;set;}
    public bool IsActive {get;set;}
 }

我想在下面映射它

* Set value to true if Id == 0
* Ignore mapping if ID != 0

我该怎么办?

        CreateMap<Dto, Entity>(MemberList.Source)
            .ForMember(dto => dto.Active, options => options.Condition((dto, entity) => ??));

我将IsActive保留在Dto中,以将其传递给客户端。

2 个答案:

答案 0 :(得分:3)

CreateMap<Dto, Entity>(MemberList.Source).ForMember(dto => dto.Active, options => options.Condition((dto, entity) => entity.Id==0 ? true : entity.Active));

答案 1 :(得分:1)

最后这就是我得到的

console.log($(".selected-of-dynamic-menu "), $(".selected-of-dynamic-menu ").position());
setTimeout(function(){console.log($(".selected-of-dynamic-menu "), $(".selected-of-dynamic-menu ").position());}, 2000);