我有一个应用程序可以让你跟踪人们的博客更新。我有一个页面,用户可以选择跟随谁。可以被跟踪的人存储在db(table name-person)中,当用户选择要跟踪的人时,也存储在db(table name-following)中。
我遇到的问题是,当用户重新访问页面以跟踪另一个人时,查询数据库的最佳方式是什么,并且只显示用户不跟踪的人。
我正在使用实体框架。
我有以下工作。我需要一个where语句。followBloggers返回用户关注的博客列表,而Uow.People.GetPeople()返回所有博客。

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

最佳答案

试试这个(假设下面有一个fk给personid上的人):

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

关于c# - 查询数据库然后从返回的项目中删除条目的最有效方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14071718/

10-11 10:41