偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

專家分析ADO.NET Debug使用問題

開發(fā) 后端
從上面的介紹時,從上圖運行結果來看就知道,其中有很多ADO.NET Debug是重復的.那有什么方法阻止數(shù)據(jù)庫重復查詢呢?

一旦該entity Key對應的實體已被加載,ADO.NET Debug就不會重復去數(shù)據(jù)庫去取了,如果該entity key對應實體沒有被加載,就會去數(shù)據(jù)庫去取.所以增加這樣一個判斷,下面就對于ADO.NET Debug進行詳細說明。

在上一文末寫了幾個關于用Include加載多級實體的查詢,不過前天在forums.mircosoft.com看到一個關ADO.NET Debug加載多級實體的問題,經(jīng)過一番交流和測試,算是明白了所以然.雖然自己常常在那樣寫Linq To Entity查詢,也許是因為在使用的過程中沒有遇到棘手的問題,所以也沒去多想. 
   
在本文之前,還是先說說那個問題.在edm中這樣的一個關系:Customers 1 --- * Orders * --- 1 Status,在這個關系下面做這樣一個查詢 var = query from customer in Customers.Include("Orders.Status") select customer,在調(diào)試的時候他發(fā)現(xiàn)Customer的Order被及時加載(ADO.NET Debug卻沒有.所以問題人覺得這是不是EF在設計上的緣故,還是其他什么原因.我告訴他不是設計上的原因,因為我就常那么寫,當然標準的寫法是Inclue("Orders").Include("Orders.Status").#t#

之前我在adonot blog上看到關于ADO.NET Debug與 Linq to Entity 在Eager Loading方式上的區(qū)別,也見過那樣寫,當然最關鍵的,我那樣做查詢沒有出先上述的問題.不過我還是在想,難道這個查詢出現(xiàn)問題是和模型的1:n:1關系有關嗎?

以前都沒在意這些,我在使用過類似這種查詢的地方,的確沒有符合這種關系.于是我昨天做了一個測試在Northwind里面恰好有Products 1--* OrderDetails *--1 Orders 符合條件的一組關系,并做了寫了如下的代碼,一邊debug,一邊跟蹤數(shù)據(jù)庫,的確只生成一條sql.后來我又選了1:n:n以及ADO.NET Debug的關系組也均都只生成一條sql.

責任編輯:chenqingxiang 來源: CSDN
相關推薦

2009-12-28 15:11:36

ADO.NET專家

2009-12-31 13:50:46

ADO.NET模型

2009-12-24 14:54:25

ADO.NET使用

2009-12-29 14:24:40

使用ADO.NET

2009-12-18 14:37:56

ADO.NET模型

2009-12-18 15:19:50

2009-12-30 10:14:41

ADO.NET Ent

2009-11-12 13:26:56

使用ADO.NET參數(shù)

2009-12-22 15:03:51

ADO.NET使用

2009-11-04 11:02:23

ADO.NET Dat

2009-11-04 13:51:46

ADO.NET性能

2009-12-31 15:59:13

ADO.NET方案

2009-12-21 10:37:05

Ado.Net 實例

2009-12-24 15:11:47

ADO.NET數(shù)據(jù)庫連

2009-12-18 15:49:12

ADO.NET組件

2009-12-21 14:50:47

ADO.NET優(yōu)化

2009-12-21 16:53:06

ADO.NET使用說明

2009-08-21 16:35:08

使用C#結合ADO.N

2009-10-29 10:34:31

ADO.NET使用技巧

2009-11-12 10:15:37

ADO.NET使用
點贊
收藏

51CTO技術棧公眾號