为了账号安全,请及时绑定邮箱和手机立即绑定

处理实体框架中的导航属性时出现 Argument.NullException

处理实体框架中的导航属性时出现 Argument.NullException

C#
慕田峪7331174 2021-06-23 17:19:37
我正在尝试返回一个包含用户所有聊天好友的列表。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 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信