大家好,我是新手Entity Framework,我一直在尝试解决一个问题。我的数据库有4个实体:用户、组、书和阅读列表。用户可以加入一个组,一个组包含由阅读列表定义的书籍。我正在尝试显示特定组的书籍列表,SQL语句如下:
SELECT * FROM Books b
WHERE b.Id IN (
SELECT BookID FROM ReadingList rl
WHERE rl.GroupID = '3')
我通过从UserRepository查询当前用户来确定正在搜索的GroupID,目前“按组获取图书”的方法看起来是这样的:
// 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;
}
显然这只是一个临时措施,仅返回一本书,但我已经包含它作为参考。在这里任何帮助或建议将不胜感激。
谢谢