2010-05-24 36 views
1

您好我想知道我怎麼能去對這個問題發現用戶正在跟隨其他用戶

我有一個DB與用戶表,和追隨者表。 追隨者表包含2列「FollowerID」和「FollowedID」 我有一個1 - > *在我的數據模型Users.ID -> Followers.FollowerIDUsers.ID -> FollowedID

之間的關係如何在LINQ做我得到一個組用戶關注的一個特定的用戶?

我會表達我想要以編程方式實現 我能走到這一步:在那裏我有下面的CurrentUser用戶的ID

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

所以現在我有一個追隨者設置,我可以遍歷這個集合,然後在每次迭代後將用戶添加到一個集合中,該集合將成爲遵循CurrentUser的全部USER集合,但是沒有更智能的或LINQ'er方式來執行此操作?

非常感謝

THX

+0

現在我可以看到爲什麼Twitter有這麼多生產問題。 – Zombies 2010-05-24 16:05:49

+0

hehe殭屍:D thx編輯我的帖子Justin – Jakob 2010-05-24 16:22:15

回答

0
ctx.Followers.Where(f => f.FollowedID == CurrentUser.UserId) 
      .Select(f => f.FollowerUser).Distinct() 

如果您對FollowerID一個的EntityRef(例如名稱FollewerUser),你可以用它來獲取所有用戶下列特定ID

+0

我明白了,但是我怎樣才能得到一個用戶的entityreference?我想,我會這樣做的關係,但我擁有的是ID – Jakob 2010-05-24 16:32:53

+0

你使用LINQ到SQL或EntityFramework?使用LINQ-to-SQL,您需要在DBML中設置外鍵關係。我相信EF類似但不確定。 – Stephan 2010-05-24 16:43:22

+0

我正在使用EntityFramework,因爲有一個域服務,但我想我只是切換到LINQ-SQL,因爲我知道更好 – Jakob 2010-05-24 16:50:06