我有一个连接发送者和接收者的桥接表。当当前用户是发件人时,我试图找回所有接收用户,反之亦然。
数据库中的数据如下所示: Database data
查询如下所示:
AppUser user = getAppUser(); //Gets the current user
List<AppUser> list = new List<AppUser>(); //Wants users linked to current user
try{
List<Friend> asked = db.Friends.Where(x => x.receiver.Id == user.Id).ToList();
foreach(Friend friend in asked){
list.Add(friend.sender);
}
}
catch{}
try{
List<Friend> sent = db.Friends.Where(x => x.sender.Id == user.Id).ToList();
foreach (Friend friend in sent){
list.Add(friend.receiver);
}
}
catch{}
我用A和B测试了所有可能的组合。 A =&gt; B,A =&gt; A,B =&gt; A,B =&gt; B.我应该返回结果B,A,B,但我得到的结果为null,A,null。在调试时,我得到了这个(询问): Debugging
我看到它的方式是当ApplicationUser不是当前用户时它将结果视为null,但我不知道为什么。如果我以其他用户身份登录,我会收到恢复的结果,所以我仍然只能看到当前用户的结果。
任何帮助将不胜感激=)