简体   繁体   中英

Filter with a sub level query EF linq

I have this data from DB

  "objeto": {
    "id": 1,
    "nombre": "Selección",
    "status": false,
    "VisitasVariableTipo": [
      {
        "id": 1,
        "idVariableTipo": 1,
        "VariablesTipo": {
          "id": 1,
          "titulo": "Fecha de Visita Selección",
          "Variables": [
            {
              "id": 1,
              "respuesta": "01/07/2021",
              "RespuestasVariables": [
                {
                  "id": 1,
                  "idRespuestaTipoFirma": 1,
                  "idVariable": 1,
                  "RespuestasVariablesDetalle": [
                    {
                      "id": 1,
                      "idRespuestaVariable": 1,
                      "idNotaClinica": 8,
                      "etiqueta": null,
                    }
                  ]
                },
                {
                  "id": 1002,
                  "idRespuestaTipoFirma": 1002,
                  "idVariable": 1,
                  "RespuestasVariablesDetalle": [
                    {
                      "id": 1002,
                      "idRespuestaVariable": 1002,
                      "idNotaClinica": 5,
                      "etiqueta": null,
                    }
                  ]
                }
              ],
              "Variables": [],
              "CatalogoDatosTipo": {
                "id": 0,
                "tipo": null,
                "CatalogoDatos": null
              }
            },
          ]
        }
      }
    ]
  }

try this

var jsonDeserialized = JsonConvert.DeserializeObject<Data>(json);

    foreach (var tipo in jsonDeserialized.objeto.VisitasVariableTipo)
    {
        foreach (var variab in tipo.VariablesTipo.Variables)
        {
variab.RespuestasVariables.RemoveAll(i=> i.RespuestasVariablesDetalle.Any(a=> a.idNotaClinica !=5));
        }
    }

    var jsonResult = JsonConvert.SerializeObject(jsonDeserialized);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM