关系项也会被填充,不管是否调用它们

本文关键字:是否 不管 调用 填充 关系 | 更新日期: 2023-09-27 17:54:41

我有以下内容:

class Test
{
    public virtual IList<TestLike> TestLikes { get; set; }
}

我有一个像这样的存储库方法:

IEnumerable<Test> GetTests()
{
    return this.context.Tests;
}
当我在控制器中调用它时:
List<Test> tests = this.testRepository.GetTests().ToList();

,然后在调试器中查看它,它也填充了所有附加到它的TestLikes…我不需要列举调试器来列出它们,它们就在那里。

我如何延迟这个发生,直到我真正需要它们?

关系项也会被填充,不管是否调用它们

然后在调试器中查看它,它也填充了所有的TestLikes也附在上面…我没必要这么做枚举调试器以列出它们,它们就在那里。

看起来延迟加载是启用的。导航到中的属性,调试器本身触发SQL请求。如果不查看调试器中的导航属性,SQL请求将不会被执行。