0

您好我想问一个问题,如何使用嵌套 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。

4

1 回答 1

1

如果我理解正确,那么您需要在选择之前添加一个位置

 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;
    }
于 2020-01-07T06:13:21.230 回答