我如何 运行 分组和计算
How I run On Group And Calc
public class UserMessages
{
[Key]
public long Id { get; set; }
[ForeignKey("fk")]
public long fk{ get; set; }
public virtual fk fk{ get; set; }
public long ChatMateId { get; set; }
public string text { get; set; }
public DateTime? dateTime { get; set; }
public bool read { get; set; }
}
我需要这方面的帮助
numberOfNewMessage = c.s.userMessages.GroupBy(x=>x.ChatMateId).
我通过 ChatMateId 获得了群组
我想return numberOfNewMessage 属性 条新消息
我需要运行每组如果里面有一条消息有bool read= false
然后我添加到numberOfNewMessage
1
我该怎么做?
示例:
如果我有 3 个组,每个组有 10 条消息,并且所有消息都是 bool read
是假的,我需要将 numberOfNewMessage
设置为值 3。
如果我没理解错的话。您想要每个键下的消息数。那将是:
var numberOfNewMessage = c.s.userMessages
.GroupBy(x=>x.ChatMateId)
.Select(x=> new{Key = x.Key, Unread = x.Count(m => !m.Read)});
因此您需要至少有一条未读消息的组数:
int numberOfNewMessage = msgs.GroupBy(m => m.ChatMateId)
.Count(m => m.Any(x => !x.read));
我试着统计未读消息数。
numberOfNewMessage = c.s.userMessages.GroupBy(x=>x.ChatMateId)
.Count(msg=> !msg.Read);
public class UserMessages
{
[Key]
public long Id { get; set; }
[ForeignKey("fk")]
public long fk{ get; set; }
public virtual fk fk{ get; set; }
public long ChatMateId { get; set; }
public string text { get; set; }
public DateTime? dateTime { get; set; }
public bool read { get; set; }
}
我需要这方面的帮助
numberOfNewMessage = c.s.userMessages.GroupBy(x=>x.ChatMateId).
我通过 ChatMateId 获得了群组
我想return numberOfNewMessage 属性 条新消息
我需要运行每组如果里面有一条消息有bool read= false
然后我添加到numberOfNewMessage
1
我该怎么做?
示例:
如果我有 3 个组,每个组有 10 条消息,并且所有消息都是 bool read
是假的,我需要将 numberOfNewMessage
设置为值 3。
如果我没理解错的话。您想要每个键下的消息数。那将是:
var numberOfNewMessage = c.s.userMessages
.GroupBy(x=>x.ChatMateId)
.Select(x=> new{Key = x.Key, Unread = x.Count(m => !m.Read)});
因此您需要至少有一条未读消息的组数:
int numberOfNewMessage = msgs.GroupBy(m => m.ChatMateId)
.Count(m => m.Any(x => !x.read));
我试着统计未读消息数。
numberOfNewMessage = c.s.userMessages.GroupBy(x=>x.ChatMateId)
.Count(msg=> !msg.Read);