我是一个新的asp.net mvc!
我有一个列表视图来显示产品:
Id CateId CateName
1 2 Cate-B
|__ Product-B
2 1 Cate-A
|__ Product-A
3 1 Cate-A
|__ Product-C
但现在我想按类别显示列表视图组产品,如下所示。我该怎么办?
Id CateId CateName
1 2 Cate-B
|__ Product-B
2 1 Cate-A
|__ Product-B
|__ Product-C
这是我的代码:
public IQueryable<MyGroup> GetAllProduct()
{
var query = (from c in _categoryRepository.Table()
join p in _productRepository.Table() on c.Id equals p.CateId
select new MyGroup
{
Categories= c,
Products = p
}).ToList();
return query.AsQueryable();
}
答案 0 :(得分:1)
如果我正确理解了您的问题,这就是您所需要的: -
var query = _categoryRepository.Table()
.GroupBy(x => new { x.Id, x.CateId, x.CateName })
.Select(x => new
{
x.Key.Id,
x.Key.CateId,
x.Key.CateName,
ProductsNames = _productRepository.Table()
.Where(p => p.CategoryId == x.Key.CateId)
.Select(p => p.ProductName).ToList()
}).ToList();
这里是一个Demo用于我使用LINQ-To-Objects的地方。
答案 1 :(得分:0)