Я работаю над проектом, который имеет следующую модель:LINQ - Отображение списка книг друзей пользователя
Я нахожусь успешно в состоянии создать пользователь с друзьями, создать пользователь с книгами, и создавать друзей с книгами.
То, что я пытаюсь сделать сейчас, отображает список книг друзей пользователя.
В моей базе данных, у меня есть два пользователей:
1 Jill
2 Джек
Джилл и Джек оба друзей.
Если вошли как Джилл, я могу успешно отображать книги Джека с этим запросом:
List<int> friendsIds = db
.Friends
.Where(c => c.User.Id == u.Id || c.User1.Id == u.Id)
.Select(c => c.User1.Id)
.ToList<int>();
List<Book> friendsBooks = db
.Books
.Where(c => friendsIds.Contains((int)c.UserId))
.ToList<Book>();
labelMyBooks.Text = sBooks;
string sMyFriendsBooks = "";
foreach (Book b in friendsBooks)
{
sMyFriendsBooks += b.BookTitle + ",";
}
labelMyFriendsBooks.Text = sMyFriendsBooks;
Я предположил, что, если войти в систему как Джек, тот же запрос предоставит книги Джилл. Но вместо этого он предоставляет Книжный список Джека.
Я хочу войти в систему как Джек и отобразить Список книг Джилла. Что мне здесь не хватает? Это связано с тем, что пользователи находятся в базе данных?
Да, это работает отлично. Благодаря! – JAck28