我正在开发一个同时拥有桌面和移动客户的网站。为了进行分析,我想知道用户是通过桌面设备还是移动设备访问我的网站,因为我在数据库中有一个表,其中有几列用于存储用户的设备详细信息。我有一个名为 IsMobile 的列,因为我根据用户的设备存储真/假。现在我想使用 linq 查询来计算真假。
我正在使用下面的代码。
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;
}
我得到了正确的计数详细信息,但是有两个列表项,一个用于计数是,另一个用于计数否,相反,我想通过一次计算是和否来获得单个列表项
原样:{是 20;否 0} {是 0; 没有 10}
应该如何:{是 20;没有 10}
我是 linq 查询的新手,请告诉我做错了什么?