Linq-to-Entity 左 JOIN

2023-11-24

这是我的查询:

from forum in Forums
    join post in Posts on forum equals post.Forum into postGroup    

    from p in postGroup     
    where p.ParentPostID==0

    select new 
    {
        forum.Title,
        forum.ForumID,  
        LastPostTitle = p.Title,
        LastPostAddedDate = p.AddedDate         
    }).OrderBy(o=>o.ForumID) 

目前加入不是左加入,这意味着如果某个论坛没有属于它的帖子,则不会返回该帖子。
没有帖子的论坛必须返回帖子属性的 null(或默认)值。

UPDATE

结果集应该是这样的:

ForumId | ForumTitle | LastPostTitle | LastPostAddedDate  
--------+------------+---------------+------------------
4       |   Sport    |    blabla     |       12/4/2010  
4       |   Sport    |    blabla     |       15/4/2010  
6       |   Games    |    blabla     |       1/5/2010  
7       |   Flame    |               |

 var allforums = from f in context.Fora.Include("Posts")
                           select f;

该查询产生与以下相同的结果

            var allForums = from f in context.Fora  
                            select new ForumPosts  
                            {  
                                Forum = f,  
                                Posts = context.Posts.Where(x=> x.ForumId == f.ForumId)  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linq-to-Entity 左 JOIN 的相关文章

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

    我正在尝试创建 DirectoryEntry 的实例 以便可以使用它来测试将传递 DirectoryEntry 的一些代码 然而 尽管进行了很多尝试 我还是找不到实例化 DE 并初始化它的 PropertyCollection 的方法 我有
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • C++ 成员函数中的“if (!this)”有多糟糕?

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

随机推荐

  • SQLAlchemy 一个映射类中的多个外键到同一主键

    我正在尝试设置一个 postgresql 表 该表有两个外键指向另一个表中的相同主键 当我运行脚本时出现错误 sqlalchemy exc AmbigouslyForeignKeysError 无法确定关系 Company stakehol
  • Chrome 中未捕获的 ReferenceError:ActiveXObject 未定义错误

    我在 Chrome 中遇到此错误 未捕获的引用错误 ActiveXObject 未定义 我的代码是 function loadModel document getElementById lModelMsg innerText Loading
  • 如何自定义/样式 codeigniter 错误?

    我正在尝试自定义 CSS HTML 以在 codeigniter 中显示错误消息 这样我就可以为每个标签应用一个标签并设置它们的样式 我尝试用谷歌搜索并搜索手册 但一定是搜索了错误的术语 有人可以帮助我吗 你可以做这样的事情 this gt
  • 在画布标签上绘制箭头

    我想使用canvas标签javascript绘制一个箭头 我已经使用二次函数实现了它 但是我在计算箭头的旋转角度时遇到问题 有人对此有任何线索吗 谢谢 我能得到的就这么简单 您必须自己在前面添加 context beginPath 并附加
  • Python:类似 jQuery 的函数链?

    我在谷歌上找不到任何关于这个主题的信息 所以我想我应该在这里问 是否可以像 jQuery 那样使用 Python 链接函数 my list foo1 arg1 arg2 foo2 arg1 arg2 foo3 arg1 arg2 etc 当
  • Javascript (ES6) 中的“...”是什么意思? [复制]

    这个问题在这里已经有答案了 我正在学习 Redux React 和 ES6 我已经使用 JS 进行了开发 但是 ES6 的这个新世界让我感到惊讶 它有很多新的东西 比如 gt 来声明箭头函数等 然而 在这项新的 Redux 研究中 我面临着
  • 如何在 Perl 中读取 Excel 文件?

    我正在寻找一些关于如何编写 Perl 脚本以从 Excel 文件读取数据 然后使用读入的数据 希望作为字符串 并将其传递到另一个 Perl 文件 作为参数 的示例 建议 目标是拥有一个表 用户可以在该表中键入一些数据 ftp 目标或文件名
  • ELF 可执行文件中 .dynamic .dynsym 和 .dynstr 之间的区别

    我的初步了解是 dynamic包含可执行文件需要加载的库 dynsym包含外部符号 例如setsockopt GLIBC 2 0 dynstr包含功能需求字符串 总的来说 我对这些部分如何一起创建二进制文件有点困惑 特别是 dynsym a
  • 我们可以在 mongodb 中更新/更新记录吗?数据源是kafka

    我们可以更新 更新插入 mongodb 中的记录 但是是否有任何方法或函数可以让我们直接在 mongodb 中更新或更新插入文档 并且源系统是 kafka 目标系统是 mongodb 是的 我们可以更新 更新插入数据 要更新 您必须在 Ka
  • Laravel Eloquent JSON Contains,如何提供WhereIn逻辑(数组值之一)

    这是我的代码 protected function room count room count query this gt builder gt whereJsonContains rent requests rooms count roo
  • 伪流式传输 MP4 文件

    我有一些关于伪流 MP4 文件的问题 是否下载了整个文件 例如 如果我将 1 分钟删除为 2 分钟的视频 是否只下载后半部分从而节省带宽 我可以使用 Chrome 开发工具检查这个吗 我该如何创建可用于伪流媒体的 MP4 我已经读到元数据需
  • 如何将我的 WordPress 博客合并到 iOS 应用程序中?

    如何将我的 WordPress 博客合并到 iOS 应用程序中 我有一个漂亮的文字新闻网站 我想创建一个本机 iOS 应用程序 我有 iOS 编码知识 但我只是不知道如何以漂亮的方式展示所有最新的博客 提前致谢 有很多方法可以实现这一目标
  • Boost序列化多个对象

    我正在使用二进制序列化带有 boost 的类 我使用 ios append 来继续将多个对象附加到该文件 如何检索所有存储的对象 这是我的测试类 它尝试多次序列化并检索它们 我已经评论了我没有获得正确数据的故障点 using namespa
  • 如何使用 SQL 复制行并获取新旧 ID 作为结果?

    我有一个表 我需要在其中复制某些行 我可以像这样获取新行的 ID DECLARE IDs TABLE ID int INSERT T name address OUTPUT INSERTED TID INTO ids SELECT name
  • 我可以使用 ASP.NET 设置 HTML/电子邮件模板吗?

    我正在开发一个会发送大量电子邮件的网站 我想设置页眉和页脚文本 甚至可能是模板 以允许用户根据需要轻松编辑这些电子邮件 如果我将 HTML 嵌入到 C 字符串文字中 它会很丑陋 并且必须担心转义 包含页眉和页脚的平面文件可能可行 但感觉有些
  • 如何使用.htaccess在codeigniter中实现动态子域?

    如何实现动态子域codeigniter with htaccess 确保您的网站上启用了子域 当您输入 test yoursite com 时 它应该会将您带到站点的欢迎页面 如果相反 它给出 DNS 查找错误 则意味着您的站点上未启用子域
  • 为什么我在 TensorFlow Keras 中的损失函数和指标之间得到不同的值?

    在使用 TensorFlow 进行 CNN 训练时 我使用Keras losses poisson作为损失函数 现在 我喜欢与损失函数一起计算许多指标 并且我观察到Keras metrics poisson给出不同的结果 尽管两者是相同的函
  • 有没有办法为同一 DAG 中的任务配置不同的“重试”

    我有一个 DAG 里面有很多子任务 在 DAG 的中间 有一个验证任务 根据任务的结果 返回代码 我想采取两条不同的路径 如果成功 将遵循一条路线 一系列任务 如果失败 我们将执行一组不同的任务 当前方法有两个问题 一是如果退出代码为 1
  • 在 Android 中发布 ID facebook 共享对话框始终返回 null

    我使用了测试应用程序 ID 并通过测试用户在 facebook 开发网站上的 dash board 应用程序中创建进行登录 使用 facebook sdk 的登录按钮小部件登录时需要 pulish actions 权限 但结果得到的 pos
  • Linq-to-Entity 左 JOIN

    这是我的查询 from forum in Forums join post in Posts on forum equals post Forum into postGroup from p in postGroup where p Par