2011-12-21 3 views
3

FollowingUsersКак написать запрос LINQ?

StatusUpdates

Вы можете увидеть FollowingUsers и StatusUpdates таблицы.

В FollowingUsers, я храню Follower 's Username и Following' s Username. В StatusUpdates, я храню Status updates пользователей.

Ниже вы можете увидеть исходный запрос, который я написал для получения обновлений статусные пользователя, вошедшего в систему.

var list = new List<StatusUpdate>(); 
list = (from x in db.StatusUpdates 
     where x.Author == User.Identity.Name 
     orderby x.Timestamp descending 
     select x) 
     .Take(count).ToList(); 

Как получить статус обновлений из следующего списка вошедшего в систему пользователя?

ответ

2

Следующее должно работать, хотя у меня нет вашей базы данных, чтобы проверить его. Обратите внимание, что это фактически не будет выполняться до вызова ToList, поэтому все должно произойти в одном запросе базы данных. Кроме того, создание нового списка не требуется, так как оно будет перезаписано вашим запросом, поэтому я немного прибрал его.

var Users = from f in db.FollowingUsers 
      where f.FollowerId == User.Identity.Name 
      select f.FollowingId; 

var list = (from x in db.StatusUpdates 
      from y in Users 
      where x.Author == y 
      orderby x.Timestamp descending 
      select x) 
      .Take(count).ToList(); 
+0

Thanks Tuskan360. Но это не сработало :( – ChamingaD

+2

Можете ли вы уточнить, что не сработало? Вы получили сообщение об ошибке? Скомпилировалось ли оно? Вы только что получили неправильные данные? – ForbesLindesay

+0

Также вы запрашиваете базу данных SQL, используя LINQ to SQL? Или что-то еще? – ForbesLindesay

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