1

我有一个应用程序,可让您关注人们的博客更新。我有一个页面,用户可以在其中选择要关注的人。可以关注的人存储在数据库中(表名 - 人员),当用户选择要关注的人时,也存储在数据库中(表名 - 关注)。

我遇到的问题是当用户重新访问页面以关注另一个人时,查询数据库并仅显示用户未关注的人的最佳方式是什么。

我正在使用实体框架。

我有以下工作。我需要一个 where 语句。followBloggers正在返回用户关注的博主列表,并且Uow.People.GetPeople()正在返回所有博主。

var followedBloggers = Uow.FollowBlogger.GetLinks(companyId).ToList();
return Uow.People.GetPeople().Select(p => new { p });
4

2 回答 2

3

你可以使用这样的东西:

var AlreadyFollowed = currentUser.followBloggers.Select( f => f.Id);
Uow.People.GetPeople().Where( p => !AlreadyFollowed.Contains(p.Id));
于 2012-12-28T15:26:20.260 回答
2

试试这个(假设 Follow 对 PersonID 上的 People 有一个 FK):

var followedIDs = user.followBloggers.Select(follow => follow.PersonID);
return Uow.People.GetPeople().Where(p => !followedIDs.Contains(p.PersonID));
于 2012-12-28T16:19:54.043 回答