我有 2 张桌子
用户
UserId
用户名
FirstName
LastName
FriendShips
RelationId
UserId
FriendId
我需要返回 Friendship 表中不存在记录的所有用户。当用户的 UserId 在友谊表 UserId 或 FriendId 列中时,用户可以成为用户的朋友。
我有 2 张桌子
用户
UserId
用户名
FirstName
LastName
FriendShips
RelationId
UserId
FriendId
我需要返回 Friendship 表中不存在记录的所有用户。当用户的 UserId 在友谊表 UserId 或 FriendId 列中时,用户可以成为用户的朋友。
我宁愿想
var users = context.Users.Where(u => !u.Friendships.Any() && !u.Friendships1.Any());
据我了解,用户可以在任何一方,UserId
以及FriendId
我想你想要这样的东西:
(注意:这是免费的)
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()
以评估查询并返回真实数据。