为了账号安全,请及时绑定邮箱和手机立即绑定

使用 LINQ 根据 ID 将 2 个不同类型的列表合并为 1 个列表

使用 LINQ 根据 ID 将 2 个不同类型的列表合并为 1 个列表

C#
慕标琳琳 2023-12-17 10:18:32
你好,所以我正在尝试将这 2 个列表合并为 1 个。List<Entry> testing = new List<Entry>();List<Tool> yes = new List<Tool>();foreach (var p in _context.Tool   .Join(_context.Entry,          o => o.ToolId,          od => od.FktoolId,          (o, od) => new { o.Name, od.Measure, od.RunDate, od.User, od.V })){    testing.Add(new LogEntries {       Measure = p.Measure,       V = p.V,       RunDate = p.RunDate,       User = p.User});    yes.Add(new Tool {       Name = p.Name });}所以我采用这两个列表是因为我希望一个表中的名称与另一个表连接。然后我将列表转换为 JSONViewBag.Testing = JsonConvert.SerializeObject(testing);我只从测试列表中获取数据,但我希望列表中的名称“是”进入列表“测试”基于工具 ID。那么我可以将名称推入列表中还是有办法合并它们。由于它们是不同的类型,我无法连接或相交。所以我现在提取的数据是[{测量:“1”,V:3,运行日期:“08/12/19”,用户:“测试用户”}]我希望它看起来像这样[{测量:“1”,V:3,运行日期:“08/12/19”,用户:“测试用户”,名称:“龙”}]
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

在您的 Join 语句中您已经创建了组合对象。为什么不将这些组合对象放入列表中并序列化它呢?


var list = _context.Tool

    .Join(_context.Entry, 

          o => o.ToolId, 

          od => od.FktoolId, 

          (o, od) => new { od.Measure, od.V, od.RunDate, od.User, o.Name })

    .ToList();


ViewBag.Testing = JsonConvert.SerializeObject(list);


查看完整回答
反对 回复 2023-12-17
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信