简体   繁体   English

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

[英]linq to SQL category sub category count Recursive

product 产品

ID CategoryID Name ... ID类别ID名称...

Category ID ParentCategoryID Name 类别 ID ParentCategoryID名称

Product > CategoryID = foreign key 产品> CategoryID =外键

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; }
    }

How do 怎么做

Linq Query? Linq查询?

List<NameIDCountList> NameIDCountList = LINQ ? List<NameIDCountList> NameIDCountList = LINQ吗?

Result: 结果:

<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>

Try something like this 试试这个

        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 });
        });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM