簡體   English   中英

查詢數據庫然后從返回的項目中刪除條目的最有效方法

[英]Most efficient way to query a database and then remove entries from returned items

我有一個應用程序,可讓您關注人們的博客更新。 我有一個頁面,用戶可以在其中選擇要關注的人。 可以關注的人存儲在數據庫中(表名-人員),當用戶選擇要關注的人時,該人也存儲在數據庫中(表名-關注中)。

我遇到的問題是,當用戶重新訪問該頁面以關注另一個人時,什么是查詢數據庫並僅顯示該用戶未關注的人的最佳方法?

我正在使用實體框架。

我有以下工作。 我需要一個where語句。 followBloggers將返回用戶正在關注的博客的列表,而Uow.People.GetPeople()將返回所有博客。

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

您可以使用如下形式:

var AlreadyFollowed = currentUser.followBloggers.Select( f => f.Id);
Uow.People.GetPeople().Where( p => !AlreadyFollowed.Contains(p.Id));

嘗試以下操作(假設“ FollowID”對“ PersonID”上的“人員”具有FK):

var followedIDs = user.followBloggers.Select(follow => follow.PersonID);
return Uow.People.GetPeople().Where(p => !followedIDs.Contains(p.PersonID));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM