首页 > 解决方案 > 从条件父ID和子ID linq C#的列表中删除

问题描述

{
  "companies":[
    {
      "CID":"1",
      "branches":[
        {
          "BID":"1",
          "stores":[
            {
              "SID":"2",
              "departments":[
                {
                  "DID":2
                },
                {
                  "DID":3
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "CID":"2",
      "branches":[
        {
          "BID":"1",
          "stores":[
            {
              "SID":"2",
              "departments":[
                {
                  "DID":2
                },
                {
                  "DID":3
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

我想从 CID=2 和 BID=1 和 SID=2 的列表中删除数据。应该删除这三个条件数据的基础

userEnitityDetails.companies
    .RemoveAll(C => C.branches
        .Any(B => B.stores
            .Any(S=> S.SID.Equals(InputStoreName))));

标签: c#asp.netentity-frameworklinqasp.net-core

解决方案


您的代码不测试除 SID 之外的 ID。

我猜你想那样做?

            Companies
            .RemoveAll(c => c.CID == 2 && c.Branchs
                .Any(b => b.BID == 1 && b.Stores
                    .Any(s => s.SID == 2)));

推荐阅读