我想爲我的儀表板中的某個儀表板編寫一個LINQ查詢,它根據某些條件檢索數據。我想根據表格中可用的不同狀態顯示記錄計數。LINQ虛擬(預定義)列分組
以下是我試圖轉換成Linq的SQL查詢。
select count(id) cnt, 'Available' label from table where date = sysdate
以上查詢返回結果在DB IDE下面。這是我想要linq的結果
cnt label
0 Available
我試着用下面的linq查詢,但它返回0計數,因此結果沒有被檢索。
var data = (from a in context
where a.date = System.DateTime.Now
group a in a.id into g
select new {
cnt = g.Count(),
label = 'Available'
}).ToList();
如何在linq中達到上述結果。您的幫助將不勝感激。
感謝
-------------編輯---------------- 更新LINQ查詢
var data = (from a in context.TableA
where a.id = uniqueID
group a in a.id into g
select new {
cnt = g.Count(),
label = 'Available'
}).Concat(from a in context.TableB
where a.id = uniqueID
group a in a.id into g
select new {
cnt = g.Count(),
label = 'WIP'
}).ToList();
您的SQL查詢中沒有where子句,但是在您的Linq中執行,並且我懷疑您的表日期列與當前的DateTime.Now(我可以保證它不是)相同。從你的linq中刪除'where'。 – Dispersia
您想計算具有特定ID的數據中元素的數量,還是要統計數據中唯一ID的數量? –
@Dispersia - 我已經更新了SQL查詢。請參閱更新的一個。儘管如此,它仍然在DB IDE中返回1行,但不會與linq一起返回。僅供參考,我需要這個條件來過濾結果。謝謝 – user968441