专家分析ADO.NET Debug使用问题

一旦该entity Key对应的实体已被加载,ADO.NET Debug就不会重复去数据库去取了,如果该entity key对应实体没有被加载,就会去数据库去取.所以增加这样一个判断,下面就对于ADO.NET Debug进行详细说明。

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都定制网站,高端网页制作,对成都玻璃贴膜等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业seo优化优化,H5建站,响应式网站。

在上一文末写了几个关于用Include加载多级实体的查询,不过前天在forums.mircosoft.com看到一个关ADO.NET Debug加载多级实体的问题,经过一番交流和测试,算是明白了所以然.虽然自己常常在那样写Linq To Entity查询,也许是因为在使用的过程中没有遇到棘手的问题,所以也没去多想. 
   
在本文之前,还是先说说那个问题.在edm中这样的一个关系:Customers 1 --- * Orders * --- 1 Status,在这个关系下面做这样一个查询 var = query from customer in Customers.Include("Orders.Status") select customer,在调试的时候他发现Customer的Order被及时加载(ADO.NET Debug却没有.所以问题人觉得这是不是EF在设计上的缘故,还是其他什么原因.我告诉他不是设计上的原因,因为我就常那么写,当然标准的写法是Inclue("Orders").Include("Orders.Status").#t#

之前我在adonot blog上看到关于ADO.NET Debug与 Linq to Entity 在Eager Loading方式上的区别,也见过那样写,当然最关键的,我那样做查询没有出先上述的问题.不过我还是在想,难道这个查询出现问题是和模型的1:n:1关系有关吗?

以前都没在意这些,我在使用过类似这种查询的地方,的确没有符合这种关系.于是我昨天做了一个测试在Northwind里面恰好有Products 1--* OrderDetails *--1 Orders 符合条件的一组关系,并做了写了如下的代码,一边debug,一边跟踪数据库,的确只生成一条sql.后来我又选了1:n:n以及ADO.NET Debug的关系组也均都只生成一条sql.

当前题目:专家分析ADO.NET Debug使用问题
文章起源:http://www.hantingmc.com/qtweb/news0/286700.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联