Dotnet
使用示例
var items = msDb.CrmWxWorkMoments
.Where(m => m.CreateType == CrmWxWorkMomentCreateType.个人)
.Where(m => m.CreateTime.Date == args.CreateDate)
.GroupBy(m => new
{
m.EmployeeWxWork.DDUserId,
m.EmployeeWxWork.DDUser.DDUserName,
m.EmployeeWxWork.DDUser.StoreId,
m.EmployeeWxWork.DDUser.StoreName
}, (k, g) => new CountEmployeePublishForDayRowItem
{
DDUserId = k.DDUserId,
DDUserName = k.DDUserName,
StoreId = k.StoreId,
StoreName = k.StoreName,
PublicCount = g.Sum(x => x.VisibleType == CrmWxWorkMomentVisibleType.公开 ? 1 : 0),
PrivateCount = g.Sum(x => x.VisibleType == CrmWxWorkMomentVisibleType.部分可见 ? 1 : 0)
})
.ToList();
注意点
g.Sum 这里 不能使用 g.Count,否则会提示重复的语句
这里也不难理解,因为sql中count不能够带参数
引申一下
在不了解完整ef语法时,尽量的以写sql的思路进行