【c#忽略映射字段】

 public class Output
    {
        public int ID { get; set; }
        
        public string NAME { get; set; }
		
		public List<Detail> Details { get; set; }
	}
	//基本表
	public class Info{
	
		public int ID { get; set; }
		
		public string NAME { get; set; }
	
	}
	//详情表
	public class Details{
	
		public int ID { get; set; }
		
		public string NAME { get; set; }
		
	}
	//方法调用
	public PageResult ConList(Input input)
        {
			var infos=GetPage(input);//获取条件查询数据
			List<Output> outputs = new List<Output>();
            foreach (var item in infos)
            {
                Output output = _mapper.Map<Output>(item); 
                output.MatContraceDetails = _contraceDetailRepository.SeletConID(item.ID); 
                outputs.Add(output);
            }
			return new PageResult<Output>
            {
                Data = outputs,
                PageIndex = input.PageNum,
                PageSize = input.PageSize,
                TotalRecords = outputs.Count,
                TotalPages = outputs.Count % input.PageSize == 0 ? outputs.Count / input.PageSize : outputs.Count / input.PageSize + 1
            };
	}
	//条件查询数据
	public List<Info> GetPage(Input input)
        {

            var whereItems = WhereBuilder.New<Info>()
            .WhereNotEmpty(input.conNo, b => b.CON_NO == input.conNo)
            var orderItems = OrderBuilder.New<Info>();
            orderItems.Add(x => x.ID, true);
            var con = Select().Query(whereItems.Build()).ToList();
            return con;
	}
	
	//automapper中忽略此字段
	CreateMap<Info, Output>().ForMember(t=>t.Details, from => from.Ignore());

以上案例目的是为了,从原有的数据输出类型

{
	"StateCode": 200,
	"Message": null,
	"TotalRecords": 1,
	"TotalPages": 1,
	"Data": [
		{
			"MatContraceInfo": {
				"ID": 6,
				"NAME": "18"
			},
			"MatContraceDetails": [
				{
					"ID": 12,
					"NAME": "18"
					
				}
			]
		},
        {
			"MatContraceInfo": {
				"ID": 6,
				"NAME": "18"
			},
			"MatContraceDetails": [
				{
					"ID": 12,
					"NAME": "18"
					
				}
			]
		}
	],
	"PageIndex": 1,
	"PageSize": 10
}

改为现在有的输入类型

{
	"StateCode": 200,
	"Message": null,
	"TotalRecords": 1,
	"TotalPages": 1,
	"Data": [
		{
			"ID": 6,
			"NAME": "18"			
			"MatContraceDetails": [
				{
					"ID": 12,
					"NAME": "18"
				}
			]
		}
	],
	"PageIndex": 1,
	"PageSize": 10
}

总结:修改输出实体类,忽略字段映射。返回类依然可以用表的基本字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值