我正在开发一个具有以下模型的项目:
我能够成功地创建一个有朋友的用户,创建一个有书籍的用户,以及创建一个有书籍的朋友。
我现在要做的是显示用户朋友的书单。
在我的数据库中,我有两个用户:
1 吉尔
2 杰克
吉尔和杰克都是朋友。
如果以 Jill 身份登录,我可以使用以下查询成功显示 Jack's Books:
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;
我假设,如果以 Jack 身份登录,相同的查询将提供 Jill's Books。但它提供了杰克的书单。
我想以 Jack 的身份登录并显示 Jill 的书单。我在这里想念什么?它与用户在数据库中的顺序有关吗?