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

Linq對象引用簡單介紹

開發 后端
這里介紹Linq對象引用,實際上,通常我們是將數據從數據庫中提取出來放入另一層中,應用程序在該層對數據進行處理。這就是 LINQ to SQL 支持的模型。

在向大家詳細介紹Linq對象引用之前,首先讓大家了解下對象標識,然后全面介紹Linq對象引用。

對象標識

◆運行庫中的對象具有唯一標識。引用同一對象的兩個變量實際上是引用此對象的同一實例。你更改一個變量后,可以通過另一個變量看到這些更改。

◆關系數據庫表中的行不具有唯一標識。由于每一行都具有唯一的主鍵,因此任何兩行都不會共用同一鍵值。

實際上,通常我們是將數據從數據庫中提取出來放入另一層中,應用程序在該層對數據進行處理。這就是 LINQ to SQL 支持的模型。將數據作為行從數據庫中提取出來時,你不期望表示相同數據的兩行實際上對應于相同的行實例。如果您查詢特定客戶兩次,您將獲得兩行數據。每一行包含相同的信息。

對于對象。你期望在你反復向 DataContext 索取相同的信息時,它實際上會為你提供同一對象實例。你將它們設計為層次結構或關系圖。你希望像檢索實物一樣檢索它們,而不希望僅僅因為你多次索要同一內容而收到大量的復制實例。

在 LINQ to SQL 中,DataContext 管理對象標識。只要你從數據庫中檢索新行,該行就會由其主鍵記錄到標識表中,并且會創建一個新的對象。只要您檢索該行,就會將原始對象實例傳遞回應用程序。通過這種方式,DataContext 將數據庫看到的標識(即主鍵)的概念轉換成相應語言看到的標識(即實例)的概念。應用程序只看到處于第一次檢索時的狀態的對象。新數據如果不同,則會被丟棄。

LINQ to SQL 使用此方法來管理本地對象的完整性,以支持開放式更新。由于在最初創建對象后唯一發生的更改是由應用程序做出的,因此應用程序的意向是很明確的。如果在中間階段外部某一方做了更改,則在調用 SubmitChanges() 時會識別出這些更改。

以上來自MSDN,的確,看了有點“正規”,下面我用兩個例子說明一下。

Linq對象引用

在第一個示例中,如果我們執行同一查詢兩次,則每次都會收到對內存中同一Linq對象引用。很明顯,cust1和cust2是同一個Linq對象引用。

  1. Customer cust1 = db.Customers.First(c => c.CustomerID == "BONAP");  
  2. Customer cust2 = db.Customers.First(c => c.CustomerID == "BONAP"); 

下面的示例中,如果您執行返回數據庫中同一行的不同查詢,則您每次都會收到對內存中同一Linq對象引用。cust1和cust2是同一個Linq對象引用,但是數據庫查詢了兩次。

  1. Customer cust1 = db.Customers.First(c => c.CustomerID == "BONAP");  
  2. Customer cust2 = (  
  3. from o in db.Orders  
  4. where o.Customer.CustomerID == "BONAP"  
  5. select o )  
  6. .First()  
  7. .Customer; 

【編輯推薦】

  1. LINQ to DataSet查詢詳解
  2. Linq實現XML轉換淺談
  3. Linq to SQL強類型DataContext
  4. Linq SelectMany學習經驗
  5. 使用LINQ進行數據轉換剖析
責任編輯:佚名 來源: IT168
相關推薦

2009-09-08 10:50:20

2009-09-11 09:41:19

LINQ to SQL

2009-09-09 14:20:49

LINQ To Luc

2009-09-07 17:05:10

LINQ進行查詢

2009-09-07 17:46:18

LINQ高級特性

2009-09-15 09:39:38

LINQ查詢架構

2009-09-17 09:15:49

Linq表達式樹

2009-08-03 17:51:43

C#引用類型

2009-09-08 13:07:15

介紹Linq to S

2009-09-16 10:38:43

LINQ查詢

2009-09-10 17:30:15

LINQ Where子

2009-08-13 11:01:32

LINQPadLINQ工具

2009-09-18 09:25:06

LINQ Framew

2009-09-09 15:28:43

Linq to obj

2009-09-10 16:28:17

LINQ查詢

2009-09-14 10:57:46

LINQ入門

2009-09-18 16:00:07

LINQ架構

2009-09-15 16:26:36

Linq orderb

2009-09-08 13:16:01

Linq to SQL

2009-09-15 15:09:50

Linq本質
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜视频在线免费观看 | 天天爱天天操 | 欧美另类视频在线 | 成人深夜福利在线观看 | 国产精品不卡视频 | 99久久免费精品国产男女高不卡 | 日韩成人一区二区 | 97久久精品午夜一区二区 | 国产一区二区麻豆 | 欧美理论 | 国产精品高潮呻吟久久久久 | 亚洲精品在线观看网站 | 久久久久久一区 | 毛片在线免费播放 | 日韩免费视频一区二区 | 蜜臀网站 | 精品久久不卡 | 国产成人久久精品一区二区三区 | 一区二区三区视频免费观看 | 欧美精品一区二区三区在线 | 狠狠久久综合 | 伊人春色成人 | 久久免费精品 | 福利成人| 黄色一级大片在线免费看产 | 青青久草| 黄瓜av| 欧美日韩国产在线观看 | 国产成人麻豆免费观看 | 成人日b视频 | 国产激情网站 | 欧美一区2区三区4区公司 | 国产精品黄色 | 国产精品伦一区二区三级视频 | 欧美日韩一区不卡 | 欧美久操网 | 日日欧美 | 亚洲国产成人精品女人久久久 | 欧美精品一区二区三区在线播放 | 永久免费在线观看 | 日本特黄a级高清免费大片 成年人黄色小视频 |