成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

菜鳥對(duì)于ADO.NET訪問技術(shù)說明詳談

開發(fā) 后端
我甚至不明白犧牲數(shù)據(jù)庫訪問次數(shù)相比一次ADO.NET訪問多張表是不是代價(jià)更低?也許問題該這么問,相比而言數(shù)據(jù)庫訪問次數(shù)和一次取大數(shù)據(jù)量那個(gè)在應(yīng)用時(shí)更容易成為性能的瓶頸?

 在上一文末寫了幾個(gè)關(guān)于用Include加載多級(jí)實(shí)體的查詢,不過前天在ADO.NET訪問看到一個(gè)關(guān)于Include加載多級(jí)實(shí)體的問題,經(jīng)過一番交流和測(cè)試,算是明白了所以然.雖然自己常常在那樣寫ADO.NET訪問查詢,也許是因?yàn)樵谑褂玫倪^程中沒有遇到棘手的問題,所以也沒去多想.
  
   在本文之前,還是先說說那個(gè)問題.在edm中這樣的一個(gè)關(guān)系:Customers 1 --- * Orders * --- 1 Status,在這個(gè)關(guān)系下面做這樣一個(gè)查詢 var = query from customer in Customers.Include("Orders.Status") ADO.NET訪問在調(diào)試的時(shí)候他發(fā)現(xiàn)Customer的Order被及時(shí)加載(PreLoad),Status卻沒有.所以問題人覺得這是不是EF在設(shè)計(jì)上的緣故,還是其他什么原因.我告訴他不是設(shè)計(jì)上的原因,因?yàn)槲揖统D敲磳?當(dāng)然標(biāo)準(zhǔn)的寫法是Inclue("Orders").Include("Orders.Status").

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

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

在上面這段代碼中,通過getOrderListByCity方法London城市的Orders,并由每一個(gè)Order查找相應(yīng)Customer的CustomerID.由于存在一個(gè)循環(huán),故總共訪問數(shù)據(jù)33次.但是真的是由于Orders.CustomerID有33個(gè)嗎?顯然不是,ADO.NET訪問從上圖運(yùn)行結(jié)果來看就知道,其中有很多CustomerID是重復(fù)的.那有什么方法阻止數(shù)據(jù)庫重復(fù)查詢呢?.在EF內(nèi)對(duì)于關(guān)連實(shí)體(導(dǎo)航屬性)除了關(guān)聯(lián)實(shí)體外還有一個(gè)屬性**Reference屬性

該屬性暴露了一個(gè)屬性IsLoad,判斷關(guān)聯(lián)實(shí)體是否已經(jīng)加載.在EF中實(shí)體是依靠entityKey(數(shù)據(jù)庫表主鍵)來識(shí)別的,一旦該entity Key對(duì)應(yīng)的實(shí)體已被加載,context就不會(huì)重復(fù)去數(shù)據(jù)庫去取了,如果該entity key對(duì)應(yīng)實(shí)體沒有被加載,就會(huì)去數(shù)據(jù)庫去取.所以增加這樣一個(gè)判斷

 

責(zé)任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2009-12-21 16:53:06

ADO.NET使用說明

2009-12-24 13:38:07

ADO.NET技術(shù)

2009-12-30 15:21:55

ADO.NET訪問

2009-12-21 14:39:09

ADO.NET技巧

2009-12-23 17:54:01

ADO.NET 2.0

2009-12-18 13:52:39

ADO.NET設(shè)計(jì)器

2009-12-22 17:43:26

ADO.Net技術(shù)

2009-12-23 14:07:09

ADO.NET實(shí)例對(duì)象

2010-01-04 10:39:33

ADO.NET描述

2009-11-04 17:22:30

ADO.NET數(shù)據(jù)訪問

2009-12-18 17:06:37

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

2009-12-23 09:32:26

ADO.NET數(shù)據(jù)對(duì)象

2009-12-24 11:04:21

ADO.Net技術(shù)

2009-12-24 10:37:03

ADO.NET訪問數(shù)據(jù)

2009-12-31 15:39:46

ADO.NET訪問數(shù)據(jù)

2009-12-31 09:54:04

ADO.NET數(shù)據(jù)訪問

2009-12-29 13:57:30

訪問ADO.NET

2009-12-21 10:37:05

Ado.Net 實(shí)例

2009-12-23 14:59:32

ADO.NET 2.0

2009-12-23 16:05:47

ADO.NET錯(cuò)誤
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产不卡在线 | 欧洲高清转码区一二区 | 黄a网| 日韩欧美精品一区 | 国产精品久久久久久吹潮 | 91国产视频在线观看 | 亚洲网站在线播放 | 一区二区成人 | 福利色导航 | 中文在线一区 | 国产成人免费视频网站高清观看视频 | 久久久网 | 亚洲一区二区成人 | 国产伦精品一区二区三区在线 | 伊人久久国产 | 成年人免费看 | 国产成人精品免高潮在线观看 | 亚洲一区 中文字幕 | 在线观看亚洲专区 | 日韩视频一区二区三区 | 久久精品欧美一区二区三区不卡 | 免费不卡一区 | 国产免费一区二区三区免费视频 | 亚洲精品2区 | 欧美一级电影免费 | 操人网| 一区二区三区在线免费观看 | www.亚洲| 亚洲免费视频在线观看 | 国产一区2区 | 一久久久| 日日淫 | 欧美日韩综合精品 | 一久久久 | 狠狠的干| 日韩影院在线观看 | 日本三级做a全过程在线观看 | 亚洲午夜视频 | 国产精品久久久久久久久久免费看 | 美女日批免费视频 | 亚洲免费观看 |