c# – 实体框架子查询

c# – 实体框架子查询,第1张

概述我是新Entity框架,我有一个问题,我一直在努力解决一段时间.基本上我有4个实体:用户,组,书和阅读列表.用户可以加入一个组,一组包含由阅读列表定义的书籍.我试图显示一个特定组的书籍列表,SQL看起来像这样: SELECT * FROM Books bWHERE b.Id IN ( SELECT BookID FROM ReadingList rl WHERE rl.G 我是新Entity框架,我有一个问题,我一直在努力解决一段时间.基本上我有4个实体:用户,组,书和阅读列表.用户可以加入一个组,一组包含由阅读列表定义的书籍.我试图显示一个特定组的书籍列表,sql看起来像这样:
SELECT * FROM Books bWHERE b.ID IN (    SELECT BookID FROM ReadingList rl        WHERE rl.GroupID = '3')

我通过从UserRepository查询当前用户来确定正在搜索的GroupID,目前“按组获取书籍”方法如下所示:

// Get books by grouppublic 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;}

显然这是一个临时措施,只能返回一本书,但我已经将其作为参考.这里的任何帮助或建议将不胜感激.

谢谢

解决方法 我没有测试过,但希望它会奏效.
entitIEs.Books.Where(b => entitIEs.ReadingList.Where(rl => rl.GroupID == groupID).Select(rl => rl.BookID).Contains(b.BookID))
总结

以上是内存溢出为你收集整理的c# – 实体框架子查询全部内容,希望文章能够帮你解决c# – 实体框架子查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1236615.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存