【问题标题】:LINQ to SQL: Lazy loading an associationLINQ to SQL:延迟加载关联
【发布时间】:2009-10-08 16:13:36
【问题描述】:

如何在 LINQ to SQL 中延迟加载关联 (EntitySet)?您无法在设计器中为关联设置延迟加载,我也找不到它的 DBML 属性。我查看了 DataLoadOptions 以了解是否有办法以这种方式延迟加载它们,但 DataLoadOptions 实际上只是提供了一种方法来塑造为属性和关联生成的 SQL(并强制加载延迟加载的属性)。

这对我们来说是一个非常重要的特性,因为我们有一个非常重的对象图,它被推送到数据库。在加载一些顶级对象时,我不想加载它们关联的子实体,直到用户实际请求该数据。对于单个属性很容易做到这一点,但我找不到为关联做这件事的方法。 EntitySet 集合似乎支持这个概念,所以必须有办法。

【问题讨论】:

    标签: .net sql linq linq-to-sql


    【解决方案1】:

    在 Linq to SQL 中默认启用延迟加载 - 使用 EntitySet 和 EntityRef 支持此功能。

    【讨论】:

    • 有趣。这是否反映在文档中的任何地方? EntitySet 默认会延迟加载是有道理的,但我在文档中的任何地方都没有看到它。
    • 微软将其称为“延迟加载”而不是延迟加载。请查看以下有关 Linq to SQL 的 MS 文档。 msdn.microsoft.com/en-us/library/bb425822.aspx 并在文本中搜索“延迟加载”(您还会发现延迟执行,这是另一回事)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    相关资源
    最近更新 更多