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

LINQ to SQL數據庫更改

開發 后端
這里介紹LINQ to SQL數據庫更改,無論對象做了多少項更改,都只是在更改內存中的副本。并未對數據庫中的實際數據做任何更改。

在向大家詳細介紹LINQ to SQL數據庫更改之前,首先讓大家了解下LINQ to SQL數據庫驗證,然后全面介紹LINQ to SQL數據庫更改。

LINQ to SQL數據庫驗證

DatabaseExists方法用于嘗試通過使用DataContext中的連接打開數據庫,如果成功返回true。

下面代碼說明是否存在Northwind數據庫和NewCreateDB數據庫 。

  1. //檢測Northwind數據庫是否存在  
  2. if (db.DatabaseExists())  
  3. Console.WriteLine("Northwind數據庫存在");  
  4. else  
  5. Console.WriteLine("Northwind數據庫不存在");  
  6. //檢測NewCreateDB數據庫是否存在  
  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數據庫存在");  
  14. else  
  15. Console.WriteLine("NewCreateDB數據庫不存在"); 

LINQ to SQL數據庫更改

SubmitChanges方法計算要插入、更新或刪除的已修改對象的集,并執行相應命令以實現對LINQ to SQL數據庫的更改。

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

如果數據庫檢測到任何錯誤,都會造成提交進程停止并引發異常。將回滾對數據庫的所有更改,就像未進行過提交一樣。DataContext 仍具有所有更改的完整記錄。

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

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

【編輯推薦】

  1. Linq匿名類型簡單概述
  2. Linq隨機讀取數據淺析
  3. Linq Lambda表達式全面分析
  4. Linq擴展方法簡單分析
  5. 初探Linq局部變量類型
責任編輯:佚名 來源: IT168
相關推薦

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映射數據庫

2009-09-18 13:58:00

LINQ查詢數據庫

2009-09-17 09:57:08

linq創建數據庫

2009-09-09 13:07:37

創建Linq數據庫

2010-07-05 17:41:37

SQL Server

2011-08-22 11:12:45

SQL Server 更改賬戶默認數據庫

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操作數據庫

2010-07-01 11:20:38

SQL Server

2011-08-09 12:27:16

SQL Server tempdb

2010-07-15 17:28:50

SQL Server

2018-11-12 15:15:32

MySQL數據庫命令

2009-09-11 15:12:26

LINQ執行存儲過程

2021-05-17 06:57:34

SQLServer數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品三级在线观看 | 国产精品久久久久久久久污网站 | 久优草| 天堂综合| 久久久久久久久久久久久9999 | 欧美大片黄 | 精品一区二区在线观看 | 欧美中文在线 | www.中文字幕 | 男女黄网站 | 亚洲高清在线 | 亚洲精品中文字幕在线观看 | 欧美日韩高清 | 国产精品国产三级国产aⅴ原创 | 九九久久国产 | 成人免费视频在线观看 | 国产黄色在线观看 | 精品久久久久国产 | 天堂av中文在线 | 久热中文字幕 | 黑人巨大精品欧美一区二区免费 | 日日干天天干 | 欧美一区视频 | 成人在线一区二区 | 欧美亚洲在线视频 | 人人鲁人人莫人人爱精品 | 日韩精品1区2区3区 爱爱综合网 | 欧美精品一区二区三区一线天视频 | 一级免费看片 | 午夜视频网 | 欧美高清视频 | 不卡欧美 | 国产免费观看久久黄av片涩av | 91超碰在线 | 欧美激情一区二区三区 | 日日干日日色 | 亚洲精品日韩视频 | 欧美一区二 | 国产乱一区二区三区视频 | 999免费观看视频 | 视频1区2区 |