我正在開發一個網站,該網站既有桌面客戶,也有移動客戶。對於分析,我想知道用戶是通過桌面還是移動設備訪問我的網站,因爲我在數據庫中有一個表,其中有幾列用於存儲用戶的設備詳細信息。在那裏我有一個名爲IsMobile的專欄,因爲我基於用戶的設備存儲真/假。現在我想要使用linq查詢來計算true和false。獲取單個表中兩列同一列的數量
我正在使用下面的代碼。
public IList<IsMobile> IsMobile(DateTime fromDate, DateTime toDate)
{
var isMobile = (from d in _db.UserDeviceDetail
where ((d.CreatedOn.Month >= fromDate.Month && d.CreatedOn.Day >= fromDate.Day && d.CreatedOn.Year >= fromDate.Year) || (d.CreatedOn.Month <= toDate.Month && d.CreatedOn.Day <= toDate.Day && d.CreatedOn.Year <= toDate.Year))
group d by d.IsMobile into g
select new IsMobile
{
Yes = g.Count(n => n.IsMobile == true),
No = g.Count(n => n.IsMobile == false)
}).ToList();
return isMobile;
}
我得到正確的計數的細節,但是有兩個列表項一個計數是,另一個用於計數不,相反,我希望得到一個列表項目,既肯定又否定在計時
原樣: {Yes 20;無0} {是0;否10}
應該如何: {Yes 20;沒有10}
我是新來的linq查詢,請告訴我做錯了什麼?
請澄清,你想要的總和是+否?您的示例解決方案似乎與您當前的代碼匹配。 – Trisped
你的代碼有什麼問題? –
我得到兩個列表中的項目,首先它計數是單獨計算,然後計算沒有單獨計算,而我想同時計算是和否 – Subha