1

私はあなたが人々のブログの更新をフォローすることを可能にするアプリを持っています。ユーザーがフォローするユーザーを選択できるページがあります。フォローできる人はdb(テーブル名-Person)に保存され、ユーザーがフォローする人を選択すると、それもdb(テーブル名-Following)に保存されます。

私が抱えている問題は、ユーザーが別の人をフォローするためにページに再度アクセスしたとき、データベースにクエリを実行し、ユーザーがフォローしていない人だけを表示するための最良の方法は何ですか。

EntityFrameworkを使用しています。

私は次のように働いています。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

これを試してください(Followingが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 に答える