linq到SQL类别子类别计数递归

本文关键字:递归 子类 linq SQL | 更新日期: 2023-09-27 18:13:16

产品

ID类别ID名称…

类别身份证件父类ID名称

产品>类别ID=外键

public class NameIDCount
{
    public int ID {get;set;}
    public string Name { get;set;}
    public int Count { get;set;}
}
public class NameIDCountList
    {
        public NameIDCount _Category { get; set; }
        public List<NameIDCount> _SubCategories { get; set; }
    }

如何

Linq查询?

List<NameIDCountList> NameIDCountList =林克?

结果:

<a href="/category/id=1">PC [23]</a>
    <a href="/category/id=4">NoteBook [2]</a>
    <a href="/category/id=5">Desktop [21]</a>
<a href="/category/id=2">Monitor [6]</a>
     <a href="/category/id=8">LED Monitor [4]</a>
     <a href="/category/id=9">LCD Monitor [2]</a>

linq到SQL类别子类别计数递归

试试这样的

        var nameidlist = new List<NameIDCount>
        {
            new NameIDCount{ID=1,Name="PC", Count =1},
            new NameIDCount{ID=2,Name="PC", Count =1},
            new NameIDCount{ID=3,Name="PC", Count =1},
            new NameIDCount{ID=4,Name="Monitor", Count =1}
        };
        var nl = new List<NameIDCount>();
        nameidlist.GroupBy(x => x.Name, p => p.ID).ToList().ForEach((y) =>
        {
            nl.Add(new NameIDCount { Count = y.ToList().Count, Name = y.Key });
        });