【问题标题】:linq to SQL category sub category count Recursivelinq to SQL 类别子类别计数递归
【发布时间】:2013-05-12 13:53:54
【问题描述】:

产品

身份证 类别ID 姓名 ...

类别 ID 父类别 ID 名称

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

怎么做

Linq 查询?

List&lt;NameIDCountList&gt; NameIDCountList =LINQ ?

结果:

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

【问题讨论】:

  • 您是否尝试按名称分组并使用聚合 count 函数。

标签: c# linq linq-to-sql


【解决方案1】:

试试这样的

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

【讨论】:

猜你喜欢
  • 2021-02-19
  • 2017-09-19
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
  • 2016-07-18
相关资源
最近更新 更多