我有以下课程(请省略语法错误)
class Message {
public Person Recipient
...
}
class Person {
public List<Group> Groups
...
}
class Group {
public GroupTypesEnum GroupType
...
}
我想按组类型生成消息计数。例子:
- 消息“你好”,发给“X 组”(T1 类型)、“Y 组”(T2 类型)中的“人员 A”
- 消息“blah”,发给“Z 组”中的“人 B”(类型 T1)
我需要的查询将输出:
组类型:T1,消息数:2
组类型:T2,消息数:1
如何在Linq To Entity 中实现这一点?
考虑到一个人可能属于零组
我知道如何在内存中实现这一点,但我想使用 Linq-To-Entities:
Dictionary<GroupTypesEnum, int> count = new ...
foreach (Message msg in db.Messages) {
foreach (Group group in msg.Recipient.Groups) {
count[group.GroupType]++;
}
}