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

Linq DataContext淺談

開發(fā) 后端
這里介紹把對象從外部傳入Linq DataContext,要求它更新,由于不同的Linq DataContext是相對獨立的。由于新的Linq DataContext中還沒有獲取實體,我們只能通過附加方式更新數(shù)據(jù)。

本文向大家介紹Linq DataContext,可能好多人還不了解Linq DataContext,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

主鍵緩存

Linq to sql對查詢過的對象進行緩存,之后的如果只根據(jù)主鍵查詢一條記錄的話會直接從緩存中讀取。比如下面的代碼:

  1. Customer c1 = ctx.Customers.Single(customer => customer.CustomerID == "ANATR");  
  2. c1.ContactName = "zhuye";  
  3. Customer c2 = ctx.Customers.Single(customer => customer.CustomerID == "ANATR");  
  4.  
  5. Response.Write(c2.ContactName); 

執(zhí)行后只會產(chǎn)生一條SQL:

  1. SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].
    [ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].
    [PostalCode], [t0].[Country], [t0].[Phone], [t0].[Fax]  
  2.  
  3. FROM [dbo].[Customers] AS [t0]  
  4.  
  5. WHERE [t0].[CustomerID] = @p0  
  6. -- @p0: Input String (Size = 5Prec = 0Scale = 0) [ANATR] 

由于沒有提交修改,所以數(shù)據(jù)庫中的記錄還是沒有更新。由于這個特性,我們在使用存儲過程作為實體更新方法的時候就要當(dāng)心了,存儲過程書寫錯誤,即使你提交了修改也很可能導(dǎo)致緩存中的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)不一致,引起不必要的麻煩。

Linq DataContext隔離

有的時候我們會把對象從外部傳入Linq DataContext,要求它更新,由于不同的Linq DataContext是相對獨立的。由于新的Linq DataContext中還沒有獲取實體,我們只能通過附加方式更新數(shù)據(jù)。

首先把Customer表的主鍵字段加上IsVersion標識:

  1. [Column(Storage="_CustomerID"DbType="NChar(5) NOT NULL"
    CanBeNull=falseIsPrimaryKey=trueIsVersion = true)] 

運行下面的測試代碼:

  1. Customer c = new Customer { CustomerID = "ALFKI"
    ContactName = "zhuye"CompanyName = "1111" };  
  2.  
  3. ctx.Customers.Attach(c, true);  
  4. ctx.SubmitChanges(); 

會捕捉到下面的SQL語句:

  1. UPDATE [dbo].[Customers]  
  2. SET [CompanyName] = @p2, [ContactName] = @p3, [ContactTitle] = @p4, 
    [Address] = @p5, [City] = @p6, [Region] = @p7, [PostalCode] = @p8, 
    [Country] = @p9, [Phone] = @p10, [Fax] = @p11  
  3. WHERE ([CustomerID] = @p0) AND ([CustomerID] = @p1)  
  4. -- @p0: Input StringFixedLength (Size = 5Prec = 0Scale = 0) [ALFKI]  
  5. -- @p1: Input String (Size = 5Prec = 0Scale = 0) [ALFKI]  
  6. -- @p2: Input String (Size = 4Prec = 0Scale = 0) [1111]  
  7. -- @p3: Input String (Size = 5Prec = 0Scale = 0) [zhuye]  
  8. -- @p4: Input String (Size = 0Prec = 0Scale = 0) []  
  9. -- @p5: Input String (Size = 0Prec = 0Scale = 0) []  
  10. -- @p6: Input String (Size = 0Prec = 0Scale = 0) []  
  11. -- @p7: Input String (Size = 0Prec = 0Scale = 0) []  
  12. -- @p8: Input String (Size = 0Prec = 0Scale = 0) []  
  13. -- @p9: Input String (Size = 0Prec = 0Scale = 0) []  
  14. -- @p10: Input String (Size = 0Prec = 0Scale = 0) []  
  15. -- @p11: Input String (Size = 0Prec = 0Scale = 0) [] 

【編輯推薦】

  1. Linq結(jié)果集形狀概述
  2. Linq存儲過程返回詳解
  3. Linq調(diào)用LoadProducts方法
  4. Linq使用數(shù)據(jù)表簡單描述
  5. Linq對象引用簡單介紹
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-08 14:56:55

強類型DataContLinq to SQL

2009-09-15 13:20:34

LINQ DataCo

2009-09-18 15:22:14

DataContextLINQ to SQL

2009-09-15 16:31:15

LINQ Custom

2009-09-07 17:32:14

LINQ檢索數(shù)據(jù)

2009-09-14 09:49:08

Linq擴展函數(shù)

2009-09-08 15:19:52

Linq Where操

2009-09-16 11:15:52

Linq聯(lián)接數(shù)據(jù)

2009-09-10 11:29:00

LINQ to SQL

2009-09-11 11:25:35

LINQ函數(shù)集合

2009-09-10 15:45:07

Linq使用Selec

2009-09-08 16:55:01

Linq實現(xiàn)XML轉(zhuǎn)換

2009-09-14 13:30:04

Linq數(shù)據(jù)和對象

2009-09-09 11:07:52

LINQ to SQL

2009-09-14 15:45:28

LINQ刪除XML節(jié)點

2009-09-18 16:32:51

Linq委托實例化

2009-06-18 10:07:44

LINQ to ACC

2009-09-15 11:08:01

LinQ調(diào)用存儲過程

2009-09-09 13:01:33

LINQ Lambda

2009-06-15 17:45:20

LINQ分組統(tǒng)計
點贊
收藏

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

主站蜘蛛池模板: 2018天天干天天操 | 欧美成视频 | 亚洲欧美一区二区三区在线 | a级在线观看 | 成人午夜电影网 | 国产精品免费小视频 | 亚洲欧美日韩精品久久亚洲区 | 97精品一区二区 | 欧美日韩中文字幕 | 久久国产精品免费 | 成人久久久久久久久 | 免费观看黄 | 亚洲人人舔人人 | 欧美一区二区三区视频在线 | 亚洲国产精品成人无久久精品 | 国产成人精品区一区二区不卡 | 亚洲免费在线视频 | 久久精品免费看 | 成年男女免费视频网站 | 国产婷婷 | 久久精品无码一区二区三区 | 全免费a级毛片免费看视频免费下 | 欧美日韩不卡 | 在线免费观看日本 | 丝袜 亚洲 另类 欧美 综合 | 亚洲综合无码一区二区 | 人干人操 | 伊人二区 | 视频一区二区在线观看 | 欧美日韩理论 | 国产精品美女久久久久久免费 | 毛片网络| 99精品国产在热久久 | 不卡一区二区三区四区 | 成年人在线视频 | 欧美8一10sex性hd | 91精品国产综合久久香蕉麻豆 | 亚洲一区免费 | 久久久国产一区 | 精品国产成人 | 午夜精品久久久久久久99黑人 |