我試圖使用動態LINQ查詢使用Aggregate function
COUNT()上的一些列但我不能夠實現,我所究竟期待是聚合函數COUNT()使用動態LINQ查詢
Select Count(Id),Id
from Table1
Group By Id
Having Count(Id) > 1
我想轉換相同的查詢動態linq查詢,有關如何實現這一目標的任何建議?
我試圖使用動態LINQ查詢使用Aggregate function
COUNT()上的一些列但我不能夠實現,我所究竟期待是聚合函數COUNT()使用動態LINQ查詢
Select Count(Id),Id
from Table1
Group By Id
Having Count(Id) > 1
我想轉換相同的查詢動態linq查詢,有關如何實現這一目標的任何建議?
可能是這樣的
list.GroupBy(item => item.Id)
.Where(group => group.Count() > 1)
.Select(group => new {
Id = group.Key,
Count = group.Count() });
你是拉姆達傢伙吧? –
我想要使用DynamicLinq查詢的解決方案..你曾經建議使用常規的Linq查詢。 – Abhinay
被盜從here:
var distinctItems =
from list in itemsList
group list by list.ItemCode into grouped
where grouped.Count() > 1
select grouped;
以下兩個查詢會給你完全相同的結果: 第一與第二拉姆達沒有結果。
var Table1 = new List<Row>();
for (int i = 0; i < 10; i++)
{
for (int m = 0; m < 5; m++)
{
for (int x = 0; x < i + m; x++)
{
Table1.Add(new Row() { Id = m });
}
}
}
var result = Table1.GroupBy(row => row.Id)
.Where(p => p.Count() > 1);
var resultB = from row in Table1
group row by row.Id into rowGrouped
where rowGrouped.Count() > 1
select rowGrouped;
foreach (var r in resultB)
{
Console.WriteLine("ID {0} count: {1}", r.Key, r.Count());
}
使用讓關鍵字與具有數值Count(ID),然後構造LINQ查詢 –
計算器部分成爲SQL來LINQ翻譯器 –
最後,我能夠解決。從後來得到的解決方案http://stackoverflow.com/questions/2531679/how-to-write-this-linq-sql-as-a-dynamic-query-using-strings – Abhinay