Tôi đang cố thực hiện thao tác LINQ sau. Ở đây thể hiện dưới dạng SQL:Tham gia và Nhóm bằng, sử dụng DataTable và Danh sách <T>
SELECT
CAMPAIGN,
ADGROUPID,
CLICKS,
TOTALCONV,
COST,
COSTCONVCLICK,
KEYWORD,
COUNT(*) AS APARICIONES
FROM
ADWORDSSEARCH
GROUP BY CAMPAIGN,adgrOUPID,CLICKS,TOTALCONV,COST,COSTCONVCLICK,KEYWORD
ORDER BY CLICKS DESC
tôi đã nhận nó làm việc với các biểu thức LINQ sau:
var filtro =(from r in newTable.AsEnumerable()
group r by new {
camp=r.Field<string>("CAMPAIGN"),
keyw= r.Field<string>("KEYWORD")
}
into grouping
select new
{
grouping.Key.camp,
grouping.Key.keyw,
Key = grouping.Key,
NumberGroup = grouping.Count()
}).ToList()
.OrderByDescending(t=>t.NumberGroup);
Nhưng vấn đề là newTable là một DataTable và nó có một lĩnh vực được gọi adgroupid đó là số, và Tôi cần phải tham gia với Danh sách để thay thế ID số của AdGroupID bằng mô tả của nó. Đây là những gì tôi đã cố gắng cho đến nay:
var filtro = from r in newTable.AsEnumerable()
join anuncios in adslist.AsEnumerable()
on r.Field<string>("ADGROUPSID") equals anuncios.id.toString()
into grouping
select new
{
Campaign = r.Field<string>("CAMPAIGN"),
AdsName = anuncios.name ???? ->Here is the problem
keyword = r.Field<string>("KEYWORD"),
Counting = grouping.Count()
};