我想按类别进行分组,然后对此进行分析.但我不知道该怎么做.我尝试了几种没有成功的方法.这是我的最新消息:
public class Count
{
public int TradersCount { get; set; }
public int Id { get; set; }
public string Description { get; set; }
}
public IQueryable<Count> CountTradersAttachedToCategories()
{
var data = from tc in _db.tblTradersCategories
select new Count
{
Description = tc.tblCategory.description,
Id = tc.tblCategory.categoryId,
TradersCount = tc.Select(x => x.categoryid).GroupBy().Count()
};
return data;
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
克莱尔
试试这个:
var data = from tc in _db.tblTradersCategories
group tc by new { tc.tblCategory.categoryId,
tc.tblCategory.description } into g
select new { Count = g.Count(),
Id = g.Key.categoryId,
Description = g.Key.description };
Run Code Online (Sandbox Code Playgroud)
如果你想在你的Count类中使用它,你可能需要使用AsEnumerable()来执行转换过程:
var converted = data.AsEnumerable()
.Select(c => new Count { TradersCount = c.Count,
Id = c.Id,
Description = c.Description });
Run Code Online (Sandbox Code Playgroud)
您可以尝试一次性完成所有操作:
var data = from tc in _db.tblTradersCategories
group tc by new { tc.tblCategory.categoryId,
tc.tblCategory.description } into g
select new Count { TradersCount = g.Count,()
Id = g.Key.categoryId,
Description = g.Key.description };
Run Code Online (Sandbox Code Playgroud)
但我不知道这是否有效.这取决于LINQ提供程序如何处理它.
| 归档时间: |
|
| 查看次数: |
495 次 |
| 最近记录: |