我正在做一個查詢,它回傳按他們購買的產品品牌分組的買家姓名。到目前為止我在這里
var query= from p in purchaseRepo.ReadAll()
join g in guitarRepo.ReadAll() on p.GuitarId equals g.Id
join b in brandRepo.ReadAll() on g.BrandId equals b.Id
group p by b.Id into grp
select new
{
grp.Key,
grp.SelectMany(t => t.BuyerName)
}
我的問題是我想要在選擇新零件的正文中宣告一個串列或一組買方名稱,但我無法讓它作業。編輯:我給欄位命名是 select new 它看起來像這樣:
select new
{
Brand=grp.Key,
Buyers=new List<string>()
};
現在我只需要知道如何將買家名稱放入串列中。結果應該是這樣的: Brand1 ---> List of Buyer Names
uj5u.com熱心網友回復:
選一個:
- Linq 提供了.ToList()方法
- Linq 提供了.ToArray()方法
- 成為英雄并實作您自己的方法,該方法接受IEnumerable<string>并回傳一個串列,該串列填充了該可列舉項中的字串元素...
uj5u.com熱心網友回復:
我已經設法讓它作業了,謝謝大家的幫助!
這是我對其他苦苦掙扎的人的查詢:
var asd = from p in purchaseRepo.ReadAll()
join g in guitarRepo.ReadAll() on p.GuitarId equals g.Id
join b in brandRepo.ReadAll() on g.BrandId equals b.Id
group p by b.Name into grp
select new
{
Brand = grp.Key,
Buyers = grp.Select(t=>t.BuyerName)
};
var result = asd
.Select(x => new KeyValuePair<string, List<string>>(
x.Brand,
x.Buyers.ToList()
));
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/363368.html
上一篇:通過擴展方法過濾子查詢
