【问题标题】:find users that are following other users查找正在关注其他用户的用户
【发布时间】:2010-05-25 00:26:06
【问题描述】:

您好,我想知道如何解决这个问题

我有一个带有用户表和追随者表的数据库。 Followers 表包含 2 列“FollowerID”和“FollowedID” 我的数据模型中有 Users.ID -> Followers.FollowerIDUsers.ID -> FollowedID 之间的 1 -> * 关系

如何在 LINQ 中获取一组关注特定用户的用户?

我将以编程方式表达我想要实现的目标 我可以做到这一点:

ctx.Followers.Where(f => f.FollowedID == CurrentUser.ID)

所以现在我有一个 Followers 集,其中我有跟随 CurrentUser 的用户的 ID,我可以遍历这个集合,然后在每次迭代后将用户添加到一个集合,该集合将是跟随 CurrentUser 的总 USER 集合,但没有更聪明或 LINQ'er 的方法来做到这一点吗?

非常感谢

谢谢

【问题讨论】:

  • 现在我明白为什么 twitter 有这么多生产问题了。
  • Hehe Zombies :D 感谢 Justin 编辑我的帖子

标签: c# linq


【解决方案1】:
ctx.Followers.Where(f => f.FollowedID == CurrentUser.UserId)
             .Select(f => f.FollowerUser).Distinct()

如果您有 FollowerID 的 EntityRef(例如名称 FollewerUser),您可以使用它来获取关注特定 ID 的所有用户

【讨论】:

  • 我明白了,但是我如何获取用户的实体引用?我想,我会用这种关系来做这件事,但我只有 ID
  • 您使用的是 LINQ-To-SQL 还是 EntityFramework?使用 LINQ-To-SQL,您需要在 DBML 中设置外键关系。我相信 EF 是类似的,但不是很确定。
  • 我使用的是 EntityFramework,因为有域服务,但我想我会切换到 LINQ-To-SQL,因为我也知道这一点更好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 2014-10-07
  • 1970-01-01
  • 2014-11-18
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多