'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
}
},
]
}
}
]
}
And I want to use linq to filter the that and filter by RespuestasVariablesDetalle.idNotaClinica, for example
var visita = db.NotasClinicas
.Where(nc => nc.Visitas.Visitas_Variable_Tipo
.Any(vvt => vvt.Variables_Tipo.Variables
.Any( v => v.Respuestas_Variables
.Any(rr => rr.RespuestasVariablesDetalle.idNotaClinica == 5 ) ) ) ).First().Visitas;
I don't know what method should I use to make this work, I want to get the next results
"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": 1002,
"idRespuestaTipoFirma": 1002,
"idVariable": 1,
"RespuestasVariablesDetalle": [
{
"id": 1002,
"idRespuestaVariable": 1002,
"idNotaClinica": 5,
"etiqueta": null,
}
]
}
],
"Variables": [],
"CatalogoDatosTipo": {
"id": 0,
"tipo": null,
"CatalogoDatos": null
}
},
]
}
}
]
}
I don't know if there is a method that I can use, or should I filter the data after getting the result, but I don't want because I believe may be a slower query
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
