多语言展示
当前在线:1212今日阅读:60今日分享:41

EF是如何进行延迟加载的

我们在用EF查询数据的时候你可能打断点调试时会发现它的数据查询存在延迟的情况,那么它到底是如何延迟加载的那?下面小编与大家一起分享一下EF是如何进行延迟加载的。
工具/原料

Visual Studio 2015

方法/步骤
1

首先我们需要新建一个NET的web项目,然后添加一个aspx页面,往页面中添加一个按钮,点击查询数据库中的表信息,如下图所示:

2

然后我们添加按钮点击事件,如下图所示,我们用Linq语句检索表的信息,如下图所示:

3

下面我们要做的是运行程序,看一下是否在浏览器中输出了内容那,如果正常的输入说明我们的语法没有错误,就可以进行下面的操作了

4

下面我们就要打断点了,这个时候我们要打开数据库的profile的监测工具,我们看一下他什么时候执行SQL语句

5

我们在循环那打个断点,然后点击查询按钮,在看一下profile工具中是否执行了SQL语句。注意修改了aspx文件一定要保存重新生成一下,否则不起作用。

6

上面我们运行到断点的时候我们看profile的时候发现并没有执行SQL语句,我们在往下执行一点执行到Response.Write的时候,我们在看profile监测工具,发现已经执行了SQL语句

7

通过以上的步骤我们得出了结论,那么就是EF进行查询的时候,不是立马得出数据,而是调用的时候才执行SQL语句,这也就是EF的延迟加载机制

推荐信息