gpt4 book ai didi

asp.net - Entity Framework : Getting objects not immediately related

转载 作者:行者123 更新时间:2023-12-02 04:15:23 25 4
gpt4 key购买 nike

我正在为我的 .NET 应用程序使用 Entity Framework 。我已经能够返回对象及其直接相关的对象(非常方便),但是我无法获取这些对象的对象。

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

这可行,我可以访问 carTypes,但是我不知道如何访问与 CarTypes 关联的表(例如,具有与汽车类型关联的字段的表)。

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

所有帮助表示赞赏。

最佳答案

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

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

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

关于asp.net - Entity Framework : Getting objects not immediately related,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3113774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com