Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to sql 延迟加载、延迟加载、急加载LINQ_Linq To Sql - Fatal编程技术网

Linq to sql 延迟加载、延迟加载、急加载LINQ

Linq to sql 延迟加载、延迟加载、急加载LINQ,linq-to-sql,Linq To Sql,延迟加载和延迟加载的混淆。它们是相同的还是不同的?什么是急切加载。有人能用例子解释我吗。这些术语在不同的上下文中被反复使用,前两个经常互换使用-我的观点如下: 延迟加载-通常用于表示按需导航属性,例如thisOrder。客户仅在您访问该客户时才会加载该客户 延迟加载-您可以设置常规属性,例如Customer.Notes,以便在设计器中延迟加载。然后,它不会加载Customer对象,而是按需加载,方式与延迟加载大致相同 急切加载-如果您知道您确实想要导航属性,甚至是延迟属性,您可以告诉LINQ t

延迟加载和延迟加载的混淆。它们是相同的还是不同的?什么是急切加载。有人能用例子解释我吗。

这些术语在不同的上下文中被反复使用,前两个经常互换使用-我的观点如下:

延迟加载-通常用于表示按需导航属性,例如thisOrder。客户仅在您访问该客户时才会加载该客户

延迟加载-您可以设置常规属性,例如Customer.Notes,以便在设计器中延迟加载。然后,它不会加载Customer对象,而是按需加载,方式与延迟加载大致相同


急切加载-如果您知道您确实想要导航属性,甚至是延迟属性,您可以告诉LINQ to SQL使用DataContext的加载选项同时获取它们。这将从1个查询转换为1个查询,然后在第一个查询中返回每个实体1个+查询,通过生成联接选择N+1问题。

这些术语在不同的上下文中被反复使用,前两个术语经常互换使用-我的观点如下:

延迟加载-通常用于表示按需导航属性,例如thisOrder。客户仅在您访问该客户时才会加载该客户

延迟加载-您可以设置常规属性,例如Customer.Notes,以便在设计器中延迟加载。然后,它不会加载Customer对象,而是按需加载,方式与延迟加载大致相同


急切加载-如果您知道您确实想要导航属性,甚至是延迟属性,您可以告诉LINQ to SQL使用DataContext的加载选项同时获取它们。这将从第一个查询中返回的1个查询转换为每个实体1个+查询,通过生成联接选择N+1问题。

我不知道您是否找到了答案,但我也在寻找它们之间的区别,我发现了Nikolaos Kantzelis关于延迟加载、急切加载的一篇很好的小文章,实体框架4中的显式加载:


我不知道您是否找到了答案,但我也在寻找它们之间的区别,我找到了Nikolaos Kantzelis写的一篇关于实体框架4中的惰性加载、渴望加载和显式加载的好文章:

在这里你可以找到不同之处。只需从文件中下载或复制粘贴代码,然后按start。您将看到如下输出:

调试应用程序也会很有帮助

在这里你可以找到不同之处。只需从文件中下载或复制粘贴代码,然后按start。您将看到如下输出:

调试应用程序也会很有帮助