嗨,我想问一个问题,在使用嵌套JSON值的Web API中,过滤是如何工作的……
public List<Root> definition()
{
var all = _db
.kpi_definition
.Include("KPI")
.Select(dl => new Root
{
//chart_type = dl.chart_type,
chart_type = new List<Chart>
{
new Chart { entity_name = dl.entity_name ,
entity_display_name = dl.entity_display_name,
kpi = new List<KPI>
{
new KPI {
kpi_name = dl.kpi_name,
kpi_display_name = dl.kpi_display_name,
required = new List<Required>
{
new Required
{
//kpi_required = dl.kpi_required
}
},
optional = new List<Optional>
{
new Optional
{
//kpi_optional = dl.kpi_optional
}
},
objects = new List<Objects>
{
new Objects
{
field_name = new List<FieldName>
{
new FieldName
{
entity_display_name = dl.entity_display_name,
type = "Select or Text",
@default = "default value(already selected)",
list = "",
ID = dl.ID
}
}
}
}
}
}
}
}
}).ToList();
return all;
}我想通过entity_name,chart_type和ID进行过滤
但是当我声明一个参数时,它只识别第一个参数chart_type。
发布于 2020-01-07 14:13:21
如果我理解正确的话,那么您需要在select之前添加一个where
public List<Root> definition()
{
var all = _db
.kpi_definition
.Include("KPI")
//Add your filters below
.Where(dl => dl.entity_name=="" && dl.chart_type="" && dl.ID=1)
.Select(dl => new Root
{
//chart_type = dl.chart_type,
chart_type = new List<Chart>
{
new Chart { entity_name = dl.entity_name ,
entity_display_name = dl.entity_display_name,
kpi = new List<KPI>
{
new KPI {
kpi_name = dl.kpi_name,
kpi_display_name = dl.kpi_display_name,
required = new List<Required>
{
new Required
{
//kpi_required = dl.kpi_required
}
},
optional = new List<Optional>
{
new Optional
{
//kpi_optional = dl.kpi_optional
}
},
objects = new List<Objects>
{
new Objects
{
field_name = new List<FieldName>
{
new FieldName
{
entity_display_name = dl.entity_display_name,
type = "Select or Text",
@default = "default value(already selected)",
list = "",
ID = dl.ID
}
}
}
}
}
}
}
}
}).ToList();
return all;
}https://stackoverflow.com/questions/59622919
复制相似问题