C#/ Linq - Query返回当前的ApplicationUser并将其他的返回null

时间:2016-12-17 00:18:05

标签: c# mysql linq

我有一个连接发送者和接收者的桥接表。当当前用户是发件人时,我试图找回所有接收用户,反之亦然。

数据库中的数据如下所示: 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,但我不知道为什么。如果我以其他用户身份登录,我会收到恢复的结果,所以我仍然只能看到当前用户的结果。

任何帮助将不胜感激=)

0 个答案:

没有答案