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

LINQ to SQL數(shù)據(jù)庫(kù)更改

開(kāi)發(fā) 后端
這里介紹LINQ to SQL數(shù)據(jù)庫(kù)更改,無(wú)論對(duì)象做了多少項(xiàng)更改,都只是在更改內(nèi)存中的副本。并未對(duì)數(shù)據(jù)庫(kù)中的實(shí)際數(shù)據(jù)做任何更改。

在向大家詳細(xì)介紹LINQ to SQL數(shù)據(jù)庫(kù)更改之前,首先讓大家了解下LINQ to SQL數(shù)據(jù)庫(kù)驗(yàn)證,然后全面介紹LINQ to SQL數(shù)據(jù)庫(kù)更改。

LINQ to SQL數(shù)據(jù)庫(kù)驗(yàn)證

DatabaseExists方法用于嘗試通過(guò)使用DataContext中的連接打開(kāi)數(shù)據(jù)庫(kù),如果成功返回true。

下面代碼說(shuō)明是否存在Northwind數(shù)據(jù)庫(kù)和NewCreateDB數(shù)據(jù)庫(kù) 。

  1. //檢測(cè)Northwind數(shù)據(jù)庫(kù)是否存在  
  2. if (db.DatabaseExists())  
  3. Console.WriteLine("Northwind數(shù)據(jù)庫(kù)存在");  
  4. else  
  5. Console.WriteLine("Northwind數(shù)據(jù)庫(kù)不存在");  
  6. //檢測(cè)NewCreateDB數(shù)據(jù)庫(kù)是否存在  
  7. string userTempFolder = Environment.GetEnvironmentVariable("Temp");  
  8. string userMDF = System.IO.Path.Combine(userTempFolder,  
  9. @"NewCreateDB.mdf");  
  10. NewCreateDB newnewDB = new NewCreateDB(userMDF);  
  11.  
  12. if (newDB.DatabaseExists())  
  13. Console.WriteLine("NewCreateDB數(shù)據(jù)庫(kù)存在");  
  14. else  
  15. Console.WriteLine("NewCreateDB數(shù)據(jù)庫(kù)不存在"); 

LINQ to SQL數(shù)據(jù)庫(kù)更改

SubmitChanges方法計(jì)算要插入、更新或刪除的已修改對(duì)象的集,并執(zhí)行相應(yīng)命令以實(shí)現(xiàn)對(duì)LINQ to SQL數(shù)據(jù)庫(kù)的更改。

無(wú)論對(duì)象做了多少項(xiàng)更改,都只是在更改內(nèi)存中的副本。并未對(duì)數(shù)據(jù)庫(kù)中的實(shí)際數(shù)據(jù)做任何更改。直到對(duì)DataContext顯式調(diào)用 SubmitChanges,所做的更改才會(huì)傳輸?shù)椒?wù)器。調(diào)用時(shí),DataContext會(huì)設(shè)法將我們所做的更改轉(zhuǎn)換為等效的SQL命令。我們也可以使用自己的自定義邏輯來(lái)重寫(xiě)這些操作,但提交順序是由DataContext的一項(xiàng)稱作“更改處理器”的服務(wù)來(lái)協(xié)調(diào)的。事件的順序如下:
1. 當(dāng)調(diào)用SubmitChanges時(shí),LINQ to SQL會(huì)檢查已知對(duì)象的集合以確定新實(shí)例是否已附加到它們。如果已附加,這些新實(shí)例將添加到被跟蹤對(duì)象的集合。
2. 所有具有掛起更改的對(duì)象將按照它們之間的依賴關(guān)系排序成一個(gè)對(duì)象序列。如果一個(gè)對(duì)象的更改依賴于其他對(duì)象,則這個(gè)對(duì)象將排在其依賴項(xiàng)之后。
3. 在即將傳輸任何實(shí)際更改時(shí),LINQ to SQL會(huì)啟動(dòng)一個(gè)事務(wù)來(lái)封裝由各條命令組成的系列。
4. 對(duì)對(duì)象的更改會(huì)逐個(gè)轉(zhuǎn)換為SQL命令,然后發(fā)送到服務(wù)器。

如果數(shù)據(jù)庫(kù)檢測(cè)到任何錯(cuò)誤,都會(huì)造成提交進(jìn)程停止并引發(fā)異常。將回滾對(duì)數(shù)據(jù)庫(kù)的所有更改,就像未進(jìn)行過(guò)提交一樣。DataContext 仍具有所有更改的完整記錄。

下面代碼說(shuō)明的是在LINQ to SQL數(shù)據(jù)庫(kù)中查詢CustomerID為ALFKI的顧客,然后修改其公司名稱,***次更新并調(diào)用SubmitChanges()方法,第二次更新了數(shù)據(jù)但并未調(diào)用SubmitChanges()方法。

  1. //查詢  
  2. Customer cust = db.Customers.First(c => c.CustomerID == "ALFKI");  
  3. //更新數(shù)據(jù)并調(diào)用SubmitChanges()方法  
  4. cust.CompanyName = "YJingLee's Blog";  
  5. db.SubmitChanges();  
  6. //更新數(shù)據(jù)沒(méi)有調(diào)用SubmitChanges()方法  
  7. cust.CompanyName = "http://lyj.cnblogs.com"

【編輯推薦】

  1. Linq匿名類型簡(jiǎn)單概述
  2. Linq隨機(jī)讀取數(shù)據(jù)淺析
  3. Linq Lambda表達(dá)式全面分析
  4. Linq擴(kuò)展方法簡(jiǎn)單分析
  5. 初探Linq局部變量類型
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-09-15 10:02:44

Linq to SQL

2009-09-18 14:25:36

LINQ to SQL

2009-12-02 10:33:34

LINQ to SQL

2009-05-14 14:23:25

微軟ado.netLINQ

2009-09-14 15:37:06

LINQ映射數(shù)據(jù)庫(kù)

2009-09-18 13:58:00

LINQ查詢數(shù)據(jù)庫(kù)

2009-09-09 13:07:37

創(chuàng)建Linq數(shù)據(jù)庫(kù)

2009-09-17 09:57:08

linq創(chuàng)建數(shù)據(jù)庫(kù)

2010-07-05 17:41:37

SQL Server

2011-08-22 11:12:45

SQL Server 更改賬戶默認(rèn)數(shù)據(jù)庫(kù)

2010-11-10 09:44:31

SQL Server端

2009-09-15 17:07:24

Linq To SQL

2010-12-17 09:11:41

SQL Server

2009-09-15 09:50:07

Linq操作數(shù)據(jù)庫(kù)

2011-08-09 12:27:16

SQL Server tempdb

2010-07-01 11:20:38

SQL Server

2010-07-15 17:28:50

SQL Server

2018-11-12 15:15:32

MySQL數(shù)據(jù)庫(kù)命令

2009-09-11 15:12:26

LINQ執(zhí)行存儲(chǔ)過(guò)程

2021-05-17 06:57:34

SQLServer數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产欧美一区二区三区日本久久久 | 国产精品夜夜夜一区二区三区尤 | 亚洲啪啪一区 | 欧美欧美欧美 | 日韩国产免费观看 | 欧美精品一区三区 | 99在线免费视频 | av黄色免费在线观看 | 国产日韩欧美一区 | 99福利视频 | 成人av一区 | 日韩电影一区 | 国产精品国产三级国产aⅴ中文 | 免费看大片bbbb欧美 | 先锋av资源网| 在线日韩 | 剑来高清在线观看 | 嫩呦国产一区二区三区av | 四虎成人在线播放 | 日韩久久综合 | 国产精品久久久久一区二区 | 看羞羞视频 | 毛片国产 | 午夜视频一区二区三区 | 亚洲精品国产综合区久久久久久久 | 国产亚洲精品一区二区三区 | 亚洲一区二区中文字幕 | 一区二区三区四区在线视频 | 色网站视频 | 日本欧美国产在线观看 | 在线日韩欧美 | 国产精品久久久久久久久久久久久 | 麻豆a级片| 日韩欧美在线观看一区 | 四虎影视一区二区 | 亚洲视频手机在线 | 99re在线视频 | 日韩一区二区三区在线观看 | 国产1区2区在线观看 | 亚洲国产成人精品女人久久久 | 久久久免费在线观看 |