实体框架:获取不直接相关的对象

2024-03-08

我正在为我的 .NET 应用程序使用实体框架。我也能够返回对象及其直接相关的对象(非常方便),但我在获取这些对象的对象时遇到问题。

 IEnumerable<Lot> i = (((ObjectSet<Car>)_carRepository.GetQuery())
                                    .Include(a => a.CarTypes).Take(10).ToList()

这是有效的,我可以访问 carTypes,但是我无法弄清楚如何访问与 CarTypes 关联的表(例如具有与汽车类型关联的字段的表)。

我尝试使用连接,但我无法弄清楚如何让它正常工作。

感谢所有帮助。


Include 可以链接起来,但您必须记住它使用字符串而不是 lambda。因此,如果您想要两级包含,则可以执行 .Include("CarTypes.Company") 。您还可以链接 Include 语句,这意味着包含来自同一顶层的多个分支 - 例如。包含(“CarTypes”)。包含(“SomeOtherTypeFromTheSameParentAsCar”)。

不过,您应该记住,深层 Include 语句可能不会产生最佳性能,因为 Include 的每个部分都只是添加到您正在构建的一个查询中,因此您将获得一个更大、更复杂的查询,该查询执行整个操作一堆隐藏的连接。有时,在一个查询中执行一些包含,然后发出第二个查询来获取其余数据或类似的内容会更有效。

使用 EF4,您还可以设置延迟加载,这有时可以使此类事情变得更加容易(但当然它会产生多个往返,而不是一两个非常大的往返)。

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

实体框架:获取不直接相关的对象 的相关文章

随机推荐

  • 将 OpenCV 窗口嵌入到 Qt GUI 中

    最近OpenCV升级了展示窗口 http opencv willowgarage com documentation c highgui qt new functions html 当它在 Qt 中使用时 它看起来非常好 但是我没有发现它有
  • 所有属性的 PropertyChanged:消息=未找到属性

    我想提高PropertyChanged我的全部 20 处房产ViewModel一次并得到解决方案 RaisePropertyChanged String Empty see C WPF ViewModel 中所有属性的 PropertyCh
  • 检测 Rails has_many 中的变化:通过关系

    我有一个模型 有多个 has many 和 has many through 模型关系 例如 在我的 User 类中 我有 has many 语言 通过 profile languages 我希望能够使用 User changes 函数检测
  • Pyserial,从 OBD 设备获取额外信息

    我是编程新手 正在尝试使用 OBD II 设备与我的车辆进行通信 串口转USB 我已经完成了我想要它做的事情 但我得到了我输入的命令来打印出来 如何从设备获取信息 这是我的代码 我正在使用Python 3 2 3 import serial
  • 为什么我的 opengl 输出对于不同的设备不同?

    我创建了一个 Android 应用程序 用于绘制直线 圆 通过在 OpenGLES 2 0 中使用 GLSurfaceView 就像 Auto cad 应用程序一样 该应用程序与 Google Nexus 7 配合得很好 从某种意义上说 如
  • 类库找不到MembershipUser

    我已将一个类库项目添加到我的应用程序中 在我的一个课程中 我需要使用 MembershipUser 类 但项目找不到它 我添加了对 System Web System Web Security 和 System Security Princ
  • 查找开始和结束位置/运行索引/连续值

    问题 给定一个原子向量 找到向量中游程的开始和结束索引 带有运行的示例向量 x rev rep 6 10 1 5 1 10 10 10 10 10 9 9 9 9 8 8 8 7 7 6 输出来自rle rle x Run Length E
  • As3:将重叠的矩形绘制到精灵并应用 alpha

    我需要画画独立的矩形到精灵 但是重叠区域如果我申请就会可见alpha到我的精灵 精灵将淡入和淡出 var spBox Sprite new Sprite this addChild spBox spBox graphics beginFil
  • 在 Rails 中压缩目录[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我如何在 ruby on Rails
  • Go 中如何返回 Nil 字符串?

    我有一个函数在某些情况下返回一个字符串 即当程序在 Linux 或 MacOS 中运行时 否则返回值应该为 nil 以便在代码中进一步省略一些特定于操作系统的检查 func test response string if runtime G
  • JavaScript 中的“如果调试”?

    JavaScript 或 Visual Studio 中是否有任何内容可以检测代码是否在调试模式下使用 类似于 C 中的 if DEBUG 但对于 JavaScript 来说 有点晚了 但我也需要同样的东西 并且在找到可行的解决方案之前不能
  • 使 Android 应用程序不适用于平板电脑

    我正在 Play 商店中发布我的应用程序 但我不希望它适用于平板电脑 我怎样才能实现它 我不想手动排除 Android 开发者控制台中的每一个平板电脑 但我确实需要我的应用程序专门在智能手机上运行 编辑 我按照你的建议做了 但结果是这样的
  • 如何通过单元测试来测试资源控制器

    我有以下标准的反应管理结构设置 一切都按预期工作 资源从端点获取数据GET LIST and GET ONE我的问题是我想测试CandidateView组件 我不知道如何向它传递一些模拟数据以检查渲染时它将包含所有预期的数据
  • 奇怪的行为:列表理解中的 Lambda [重复]

    这个问题在这里已经有答案了 在Python 2 6中 x for x in lambda m for m in 1 2 3 结果是 3 3 3 我期望输出为 1 2 3 即使使用非列表理解方法 我也会遇到完全相同的问题 即使在我将 m 复制
  • Quercus (Java) 比原生 PHP 更快吗?

    如果是这样 为什么 或者也许更好的问题是 何时 我发现了一些零散的评论 例如这个帖子 https stackoverflow com questions 777356 is quercus a viable replacement for
  • Karma、PhantomJS 和 es6 Promise

    我正在编写一个使用新的 es6 Promise 的 JavaScript 库 我可以在 Firefox 中测试该库 因为 Promise 已定义 但是 当我尝试使用 Karma 和 PhantomJS 测试我的代码时 出现错误Can t f
  • 错误问题:“访问路径 被拒绝。”

    我一直在寻找解决该错误的技巧 google stackoverflow com 等 但一切都不起作用 我需要通过 asp net 应用程序动态创建 aspx 文件 我为尝试修复它所做的事情 1 在文件夹的 属性 gt 安全性 中 我添加了
  • HTML5 视频自动播放,但有 5 秒延迟

    我的网页上有一个 20 秒长的 HTML5 视频循环作为背景 并将其设置为自动启动 视频自动播放可以延迟5秒吗 我试图在尝试播放之前让视频完全加载 以防止视频卡顿 这是我当前的代码
  • 对象方法调用不带括号

    导入后是否可以调用不带括号的对象方法 这是我的测试代码 基于本文 http www artima com scalazine articles package objects html马丁 奥德斯基 package gardening fr
  • 实体框架:获取不直接相关的对象

    我正在为我的 NET 应用程序使用实体框架 我也能够返回对象及其直接相关的对象 非常方便 但我在获取这些对象的对象时遇到问题 IEnumerable