[英]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.