91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LINQ to SQL數據庫如何更改

發布時間:2021-12-01 16:02:45 來源:億速云 閱讀:136 作者:iii 欄目:編程語言

這篇文章主要介紹“LINQ to SQL數據庫如何更改”,在日常操作中,相信很多人在LINQ to SQL數據庫如何更改問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”LINQ to SQL數據庫如何更改”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

LINQ to SQL數據庫驗證

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

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

//檢測Northwind數據庫是否存在  if (db.DatabaseExists())  Console.WriteLine("Northwind數據庫存在");  else  Console.WriteLine("Northwind數據庫不存在");  //檢測NewCreateDB數據庫是否存在  string userTempFolder = Environment.GetEnvironmentVariable("Temp");  string userMDF = System.IO.Path.Combine(userTempFolder,  @"NewCreateDB.mdf");  NewCreateDB newnewDB = new NewCreateDB(userMDF);   if (newDB.DatabaseExists())  Console.WriteLine("NewCreateDB數據庫存在");  else  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()方法。

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

到此,關于“LINQ to SQL數據庫如何更改”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

内江市| 万源市| 南开区| 福安市| 华坪县| 山东省| 巴楚县| 泗阳县| 顺平县| 社旗县| 井研县| 贵德县| 五峰| 拜泉县| 电白县| 井陉县| 班玛县| 民乐县| 海安县| 吉安县| 奉新县| 盐城市| 宁海县| 清河县| 靖边县| 固始县| 棋牌| 丹江口市| 金山区| 金堂县| 阿合奇县| 象州县| 历史| 衡山县| 宣威市| 绥中县| 九江县| 苍山县| 宝兴县| 德江县| 攀枝花市|