查找非好友用户LINQ



我有两个表


UserId
用户名
FirstName
LastName

友谊


RelationId
UserId
FriendId

我需要返回记录不存在于友谊表的所有用户。当用户的UserId在好友表UserId或frienddid列中时,用户可以是另一个用户的好友

我宁愿想到

var users = context.Users.Where(u => !u.Friendships.Any() && !u.Friendships1.Any());

据我所知,用户可以在任何一方,UserIdFriendId

我想你需要这样的东西:

(注意:这是自由书写)

int userId = 1;
var userFriends = context.Users
    .Where(u => u.ID = userId)
    .SelectMany(u => u.FriendShips)
    .Select(fs => fs.Friend);
var nonFriends = context.Users
    .Where(u => u.ID != userId)
    .Except(userFriends);

nonFriends查询。调用.ToList()查询求值并返回真实数据

最新更新