自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq使用InsertOnSubmit方法剖析

開發(fā) 后端
這里介紹Linq使用InsertOnSubmit方法將新客戶添加到Customers 表對(duì)象。調(diào)用SubmitChanges 將此新Customer保存到數(shù)據(jù)庫。

在向大家詳細(xì)介紹Linq使用InsertOnSubmit方法之前,首先讓大家了解下調(diào)用SubmitChanges,然后全面介紹Linq使用InsertOnSubmit方法。

1.簡(jiǎn)單形式

說明:new一個(gè)對(duì)象,Linq使用InsertOnSubmit方法將其加入到對(duì)應(yīng)的集合中,使用SubmitChanges()提交到數(shù)據(jù)庫。

  1. NorthwindDataContext db = new NorthwindDataContext();  
  2. var newnewCustomer = new Customer  
  3. {  
  4. CustomerID = "MCSFT",  
  5. CompanyName = "Microsoft",  
  6. ContactName = "John Doe",  
  7. ContactTitle = "Sales Manager",  
  8. Address = "1 Microsoft Way",  
  9. City = "Redmond",  
  10. Region = "WA",  
  11. PostalCode = "98052",  
  12. Country = "USA",  
  13. Phone = "(425) 555-1234",  
  14. Fax = null 
  15. };  
  16. db.Customers.InsertOnSubmit(newCustomer);  
  17. db.SubmitChanges(); 

語句描述:Linq使用InsertOnSubmit方法將新客戶添加到Customers 表對(duì)象。調(diào)用SubmitChanges 將此新Customer保存到數(shù)據(jù)庫。

2.一對(duì)多關(guān)系

說明:Category與Product是一對(duì)多的關(guān)系,提交Category(一端)的數(shù)據(jù)時(shí),LINQ to SQL會(huì)自動(dòng)將Product(多端)的數(shù)據(jù)一起提交。

  1. var newnewCategory = new Category  
  2. {  
  3. CategoryName = "Widgets",  
  4. Description = "Widgets are the ……" 
  5. };  
  6. var newnewProduct = new Product  
  7. {  
  8. ProductName = "Blue Widget",  
  9. UnitPrice = 34.56M,  
  10. Category = newCategory 
  11. };  
  12. db.Categories.InsertOnSubmit(newCategory);  
  13. db.SubmitChanges(); 

語句描述:Linq使用InsertOnSubmit方法將新類別添加到Categories表中,并將新Product對(duì)象添加到與此新Category有外鍵關(guān)系的Products表中。調(diào)用SubmitChanges將這些新對(duì)象及其關(guān)系保存到數(shù)據(jù)庫。

3.多對(duì)多關(guān)系

說明:在多對(duì)多關(guān)系中,我們需要依次提交。

  1. var newnewEmployee = new Employee  
  2. {  
  3. FirstName = "Kira",  
  4. LastName = "Smith" 
  5. };  
  6. var newnewTerritory = new Territory  
  7. {  
  8. TerritoryID = "12345",  
  9. TerritoryDescription = "Anytown",  
  10. Region = db.Regions.First()  
  11. };  
  12. var newnewEmployeeTerritory = new EmployeeTerritory  
  13. {  
  14. Employee = newEmployee,  
  15. Territory = newTerritory 
  16. };  
  17. db.Employees.InsertOnSubmit(newEmployee);  
  18. db.Territories.InsertOnSubmit(newTerritory);  
  19. db.EmployeeTerritories.InsertOnSubmit(newEmployeeTerritory);  
  20. db.SubmitChanges(); 

語句描述:Linq使用InsertOnSubmit方法將新雇員添加到Employees 表中,將新Territory添加到Territories表中,并將新EmployeeTerritory對(duì)象添加到與此新Employee對(duì)象和新 Territory對(duì)象有外鍵關(guān)系的EmployeeTerritories表中。調(diào)用SubmitChanges將這些新對(duì)象及其關(guān)系保持到數(shù)據(jù)庫。

4.使用動(dòng)態(tài)CUD重寫(Override using Dynamic CUD)

說明:CUD就是Create、Update、Delete的縮寫。下面的例子就是新建一個(gè)ID(主鍵)為32的Region,不考慮數(shù)據(jù)庫中有沒有ID為32的數(shù)據(jù),如果有則替換原來的數(shù)據(jù),沒有則插入。

  1. Region nwRegion = new Region()  
  2. {  
  3. RegionID = 32,  
  4. RegionDescription = "Rainy" 
  5. };  
  6. db.Regions.InsertOnSubmit(nwRegion);  
  7. db.SubmitChanges(); 

語句描述:使用DataContext提供的分部方法InsertRegion插入一個(gè)區(qū)域。對(duì)SubmitChanges 的調(diào)用調(diào)用InsertRegion 重寫,后者使用動(dòng)態(tài)CUD運(yùn)行Linq To SQL生成的默認(rèn)SQL查詢。

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗(yàn)總結(jié)
  2. LINQ遍歷多個(gè)數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計(jì)學(xué)習(xí)筆記
  5. LINQ重要組成部分簡(jiǎn)介
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-09 16:21:31

Linq使用sqlme

2009-09-08 16:50:12

使用LINQ進(jìn)行數(shù)據(jù)轉(zhuǎn)

2009-09-10 14:37:57

LINQ匿名類型

2009-09-16 16:59:05

LINQ to XML

2009-09-17 13:15:20

LINQ查詢

2009-09-09 14:40:43

Linq to sql

2009-09-14 10:13:02

LINQ查詢操作

2009-09-14 15:12:40

LINQ to XML

2009-09-09 13:39:05

Linq用戶定義函數(shù)

2009-09-14 10:35:15

Linq內(nèi)部執(zhí)行原理

2009-09-10 16:32:19

LINQ Where

2009-09-15 14:52:15

linq級(jí)聯(lián)刪除

2009-09-17 09:20:34

Linq和dLinq區(qū)

2009-09-08 16:20:12

LINQ to SQL

2009-09-16 09:56:42

LINQ to SQL

2009-09-18 17:17:58

LINQ模型

2009-09-07 16:25:14

Linq To SQL

2009-09-10 15:35:07

LINQ查詢表達(dá)式

2009-09-17 15:22:38

LINQ to SQL

2009-09-11 09:48:27

Linq Lambda
點(diǎn)贊
收藏

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