Ребята Я новичок в Entity Framework, и у меня есть проблема, которую я пытаюсь решить довольно долго. В основном у меня есть 4 объекта: пользователи, группы, книги и списки чтения. Пользователь может присоединиться к группе, а группа содержит книги, определенные с помощью readList. Я пытаюсь отобразить список книг для определенной группы, SQL выглядит следующим образом:
SELECT * FROM Books b
WHERE b.Id IN (
SELECT BookID FROM ReadingList rl
WHERE rl.GroupID = '3')
Я определяю поиск GroupID путем запроса текущего пользователя из UserRepository, и в настоящее время метод get get by group выглядит следующим образом:
// Get books by group
public IQueryable<Book> GetGroupBooks(string username)
{
UserRepository userRepository = new UserRepository();
int groupId = userRepository.GetUserGroupId(username);
IQueryable<Book> q = from b in entities.Books
where b.Id == 7 // temp - these values should be determined by
// rl in entites.ReadingList select rl.BookID where r.GroupID == groupID
select b;
return q;
}
Очевидно, что это временная мера и возвращает только одну книгу, но я включил ее для справки. Любая помощь или совет здесь будут высоко оценены.
Спасибо