2010-05-24 3 views
1

Привет Мне интересно, как я могу идти об этой проблеменайти пользователей, которые следуют другим пользователям

У меня есть БД с пользователями таблицы и таблицы последователям. таблица Последователи содержит 2 колонки «FollowerID» и «FollowedID» У меня есть 1 -> * отношение в моем DataModel между Users.ID -> Followers.FollowerID и Users.ID -> FollowedID

Как я в LINQ получить множество пользователей, которые следующие конкретного пользователя ?

я выразить то, что я пытаюсь достичь я программно могу получить это далеко:

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

так что теперь у меня есть Последователи установить, где у меня есть идентификатор пользователей, которые следуют за CurrentUser, и я мог бы перебирать эту коллекцию, а затем добавлять пользователей после каждой итерации в коллекцию, которая была бы общей коллекцией USER, которая следовала за CurrentUser, но разве нет более умного или способ LINQ'er для этого?

Высокую оценку

Thx

+0

Теперь я могу видеть почему в Twitter есть так много производственных проблем. – Zombies

+0

Hehe Zombies: D thx для редактирования моего сообщения Justin – Jakob

ответ

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

Если у вас есть EntityRef для FollowerID (например, имя FollewerUser), вы можете использовать это, чтобы получить все пользователи после определенного ID

+0

Я вижу, но как же я могу получить привязку для пользователя? Я думал, я бы сделал это с отношениями, но все, что у меня есть, это ID – Jakob

+0

Используете ли вы LINQ-To-SQL или EntityFramework? С LINQ-To-SQL вам нужно настроить отношения внешнего ключа в вашем DBML. Я считаю, что EF похож, но не совсем уверен. – Stephan

+0

Я использовал EntityFramework из-за службы домена, но я думаю, что я просто переключусь на LINQ-To-SQL, поскольку я знаю, что лучше, а также – Jakob

Смежные вопросы