实体框架子查询

2023-11-23

伙计们,我是实体框架的新手,我遇到了一个问题,我已经尝试解决很长一段时间了。基本上我有 4 个实体:用户、组、书籍和阅读列表。用户可以加入一个组,并且组包含书籍 - 由 ReadingList 定义。我正在尝试显示特定组的书籍列表,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;
}

显然这是一个临时措施,只返回一本书,但我将其包含在内以供参考。任何帮助或建议在这里将不胜感激。

Thanks


我个人认为有一个更好的解决方案(当然未经测试):

首先通过GroupdID从ReadList中选择,然后在BookID上加入书籍。

IQueryable<Book> q = 
       from rl in entities.ReadingList
       join b in entities.Books on rl.BookID equals b.BookID
       where rl.GroupdID ==groupID
       select b;

var books = q.ToList()

如果您有任何问题,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架子查询 的相关文章

  • 创建 DirectoryEntry 实例以供测试使用

    我正在尝试创建 DirectoryEntry 的实例 以便可以使用它来测试将传递 DirectoryEntry 的一些代码 然而 尽管进行了很多尝试 我还是找不到实例化 DE 并初始化它的 PropertyCollection 的方法 我有
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

  • 如何在 Linq 中添加两个列表,以便 linkedList[x] = listOne[x] + listTwo[x]?

    我想添加两个数字类型的列表 以便 添加列表 x 列表一 x 列表二 x 列表的输出需要是一个 Generic IEnumerable 我可以在将来的 linq 查询中使用它 虽然我能够使用下面的代码来做到这一点 但我忍不住觉得一定有更好的方
  • 如何理解在 PyTorch 中创建叶张量?

    来自 PyTorch文档 b torch rand 10 requires grad True cuda b is leaf False b was created by the operation that cast a cpu Tens
  • 错误:通用字符名称不完整 \U

    我正在尝试编写一个更改 txt 文件的 C 程序 但是 当我运行它时 我收到一个奇怪的错误 错误 6 20 C Dev Cpp Homework6 cpp 不完整的通用字符名称 U My code include
  • 在 pandas read_csv() 中引用参数

    我在用着pandas read csv 我发现quotechar并引用其中的参数 pandas read csv filepath or buffer sep quotechar quoting 0 这些参数的具体用途是什么 我检查了文档
  • 使用 SearchView 小部件时如何在 RecyclerView 中突出显示过滤后的文本

    如何在 RecyclerView 中突出显示搜索文本结果 我发现了一些关于 Spannable TextView 的帖子 但不确定在我的情况下在哪里实现 感谢您的关注和帮助 主要活动或第 1 章 public class Chapter1
  • 如何在运行时设置活动的父活动?

    我有任意数量的分层嵌套视图 活动 操作栏应显示向上导航按钮 以在任何视图中导航到更高级别 为此 谷歌文档说我必须在活动的 xml 定义中使用标签设置父活动 但是 我正在动态创建活动 并且子元素可以与其父元素具有相同的活动 那么如何在运行时将
  • 将正则表达式选项传递给 PowerShell [regex] 类型

    我使用下面的正则表达式代码捕获两个匹配的组 regex regex 0 9 1 20 b kb mb gb tb matches regex match minSize size int64 matches Groups 1 Value u
  • 在 Android 上使用 addJavascriptInterface() 传递 JavaScript 对象

    是否可以使用 addJavascriptInterface 将 JavaScript 对象从 JavaScript 传递到 Java 沿着这些思路 var javaScriptObject field1 string1 field2 str
  • 十六进制值 0x0B,是 XML 中的无效字符问题

    我遇到异常 十六进制值 0x0B 是无效字符 第 23 行 第 22 号位置 我已经尝试过解决方案Here 但它对我不起作用 由于我的项目是在3 5版本 我无法使用XmlConvert IsXmlChar method MSDN 怎么处理呢
  • 我可以使用一个 HTML5 应用程序控制两个浏览器窗口吗?

    我希望我的 HTML5 应用程序能够绘制到两个不同的屏幕上 这 我认为 意味着我需要有两个不同的浏览器窗口 每个屏幕上一个 这可能吗 看来我真的必须将相同的应用程序加载到两个窗口中 并以某种方式让窗口相互通信 我找不到如何实现此目的的示例
  • 使用 FTPS 将文件从 Android 传输到服务器 [重复]

    这个问题在这里已经有答案了 我正在使用Apache Commons FTP 库在我的 Android 应用程序中 我通过 FTPS 建立连接 虽然它可以完美地连接到服务器 但在传输文件时遇到问题 出于安全原因 订购应用程序的客户端要求在使用
  • 实体框架 PostgreSQL

    有人可以告诉我如何让 MS Entity Framework 与 PostgreSQL 一起使用吗 另外 实体框架如何与 Mono 一起工作 您能否推荐其他类似的可在 Mono 上运行的 ORM 工具 您对它们有何看法 实体框架还可以与 N
  • 为什么要使用 !!操作员

    我在一个例子中遇到了一些红宝石 def role role return self roles find by name role to s camelize end 你为什么会使用 难道不一样吗 return self roles fin
  • 使用故事板时如何子类化导航控制器?

    我使用 Xcode 菜单 编辑器 嵌入 导航控制器 在界面生成器中使用故事板 看来在 iOS 6 中你必须子类化 UINavigationController 以允许所有方向 NSUInteger supportedInterfaceOri
  • 列出 PostgreSQL 中带有索引的列

    我想获取 PostgreSQL 中索引所在的列 在 MySQL 中你可以使用SHOW INDEXES FOR table并看看Column name柱子 mysql gt show indexes from foos Table Non u
  • 对 SQLAlchemy 中每个查询的所有表应用全局过滤器

    我们正在尝试设置一个 SaaS 服务 支持共享数据库和架构中的多租户 我们计划在所有表上都有一个tenant id 列 我想做的是 开发人员不必编写任何额外的代码 我的查询就可以按此租户 ID 自动过滤所有涉及的表 在 SQL Alchem
  • 在 Java 中可靠地播放短声音

    我正在努力编写一些基本上只播放短 wav 文件的 Java 代码 短 是指不到一秒的时间 对于使用 Ubuntu 的用户 我使用的文件位于 usr share sounds generic wav 问题是 我似乎不知道如何播放该样本reli
  • 带有 WHERE 子句的 PostgreSQL 更新插入

    我正在尝试将 Oracle 合并查询迁移到 PostgreSql 如中所述this文章中 Postgres UPSERT 语法支持 where 子句 来识别冲突条件 不幸的是 该网页没有提供带有 where 子句 的示例 我尝试在其他地方寻
  • pytest 的 PATH 问题“ImportError:没有名为 ...”的模块

    I used 简易安装安装pytest在 Mac 上并开始为具有如下文件结构的项目编写测试 repo app py settings py models py tests test app py Run py test当在repo目录 一切
  • 实体框架子查询

    伙计们 我是实体框架的新手 我遇到了一个问题 我已经尝试解决很长一段时间了 基本上我有 4 个实体 用户 组 书籍和阅读列表 用户可以加入一个组 并且组包含书籍 由 ReadingList 定义 我正在尝试显示特定组的书籍列表 SQL 如下