选择嵌套列表

本文关键字:列表 嵌套 选择 | 更新日期: 2023-09-27 17:54:22

我的mongodb模型是这样的

 "clienteId" : "123",
 "devices" : [
     {
             "deviceId" : "234",
             "deviceType" : "ios"
     }
  ]

我在这个集合上调用findAll并尝试将它转换为一个对象列表,看起来像这样

 public List<Client> clients { get; set; }
 public class Client
 {
    public string ClientId { get; set; }
    public List<Device> devices;
    public class Device
    {
       public string DeviceId { get; set; }
       public string DeviceType { get; set; }
     }
  }

我想使用LINQ,如何转换内部列表?

选择嵌套列表

找到了,它比我想象的要简单得多:)

clientes = cursor.Select(c => new Client()
{
     ClientId = c.ClientId,
     devices = c.Devices.Select(d => new Client.Device()
     {
         DeviceId = d.DeviceId,
         DeviceType = d.DeviceType
     }).ToList()
 }).ToList()