我正在尝试返回一个包含用户所有聊天好友的列表。Chat Buddies 的意思是所有的用户 ID,在消息中我是发送者还是接收者。 这是我的代码:public List<string> GetUserMessagesGrouped(string userId) { var a = _context.Users.FirstOrDefault(x => x.Id == userId).SentMessages.Select(m => m.ReceiverID); var b = _context.Users.FirstOrDefault(y => y.Id == userId).ReceivedMessages.Select(m => m.SenderID); var ChatBuddies = a.Concat(b).Distinct(); return ChatBuddies.ToList(); }问题是: 我收到此异常。 System.ArgumentNullException: '值不能为空。'尽管在我的数据库中,我正在测试的这个确切用户有 SentMessages 和 ReceivedMessages。固定点var user = _context.Users.Include("ReceivedMessages").Include("SentMessages").FirstOrDefault(x => x.Id == userId); var received = user.ReceivedMessages.Select(r => r.SenderID).ToList(); var sender = _context.Messages.Where(m => m.SenderID == userId).Select(s => s.ReceiverID).ToList(); var ChatBuddies = received.Union(sender).ToList(); return ChatBuddies;关键是使用,.Include("ReceivedMessages").Include("SentMessages")所以他们不是null。
2 回答
- 2 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消