You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中关联请求响应数据获取商品折扣信息用于数据库更新

实现方案

首先需要定义对应请求、响应和目标格式的实体类,用于JSON序列化/反序列化:

// 请求实体
public class RequestItem
{
    public int itemcode { get; set; }
    public decimal price { get; set; }
    public int Index { get; set; }
}

public class RequestModel
{
    public List<RequestItem> Items { get; set; }
}

// 响应实体
public class DiscountInfo
{
    public int id { get; set; }
    public int amoumt { get; set; } // 字段拼写与响应格式保持一致
}

public class ResponseItem
{
    public DiscountInfo discount { get; set; }
    public int Index { get; set; }
}

public class ResponseModel
{
    public List<ResponseItem> Items { get; set; }
}

// 目标实体(用于数据库更新)
public class TargetItem
{
    public int itemCode { get; set; }
    public DiscountInfo discount { get; set; }
}

public class TargetModel
{
    public List<TargetItem> items { get; set; }
}

方案一:LINQ实现

利用LINQ的Join方法,通过Index字段关联请求与响应数据,直接映射为目标格式:

// 假设已获取到请求数据requestModel和响应数据responseModel
var targetModel = new TargetModel
{
    items = requestModel.Items
        .Join(responseModel.Items,
            req => req.Index,
            res => res.Index,
            (req, res) => new TargetItem
            {
                itemCode = req.itemcode,
                discount = res.discount
            })
        .ToList()
};

方案二:循环实现

遍历请求数据,通过字典快速匹配响应中对应Index的记录,适合需要添加额外判断逻辑的场景:

var targetItems = new List<TargetItem>();
// 将响应数据转为字典,提升匹配效率
var responseDict = responseModel.Items.ToDictionary(item => item.Index);

foreach (var reqItem in requestModel.Items)
{
    if (responseDict.TryGetValue(reqItem.Index, out var resItem))
    {
        targetItems.Add(new TargetItem
        {
            itemCode = reqItem.itemcode,
            discount = resItem.discount
        });
    }
    // 可按需添加Index不匹配时的异常处理或日志记录逻辑
}

var targetModel = new TargetModel { items = targetItems };

后续数据库操作

拿到targetModel后,即可结合你已有的数据库操作类,遍历targetModel.items,通过itemCode定位对应商品,更新折扣详情。

内容的提问来源于stack exchange,提问作者user20291964

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:45:42