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

LINQ技術學習經驗

開發 后端
這里介紹LINQ TO SQL是LINQ技術在數據庫方面的應用。數據庫技術從OLEDB,ODBC到ADO,在到ADO.NET到現在的LINQ TO SQL,讓程序員操作數據庫越來越簡單。

LINQ有很多值得學習的地方,這里我們主要介紹LINQ技術,包括介紹LINQ TO SQL等方面

LINQ TO SQL是LINQ技術在數據庫方面的應用。數據庫技術從OLEDB,ODBC到ADO,在到ADO.NET到現在的LINQ TO SQL,讓程序員操作數據庫越來越簡單。 LINQ 的宗旨就是讓查詢無處不再,這當然要包括對數據庫的查詢。LINQ技術不僅僅可以對數據庫進行查詢,同樣CUID(Create,Update,Insert,Delete)都可以實現,而且非常方便。

下面逐一對查詢以及增刪改方面進行介紹

要想查詢數據庫中表的數據,就要先建立對數據庫表的映射,就像要想使用ADO.NET就需要先把數據庫中的數據存到DataSet中,看一下代碼

  1. [Table(Name = "Category")]  
  2. public class Category  
  3. ...{  
  4. [Column(IsPrimaryKey = true)]  
  5. public string CategoryId;  
  6. [Column]  
  7. public string Name;  
  8. [Column]  
  9. public string Descn;  

以上就是對數據表的一個映射。使用的數據庫是SQL SERVER2000中自帶的數據庫Northwind。其實寫過C#的人也應該能看懂上面的代碼。建立好對表的映射之后,就可以對其進行相應的操作了。

注意這里我們使用手工寫數據表的映射,其實MS為我們提供了相應的自動化工具SqlMetal,大家可以使用這個工具自動產生對數據庫表映射的代碼,效率比較高,如果自己有什么需要改動的地方還可以對產生的代碼進行更改。

下面可以查詢了

  1. DataContext db = new DataContext("Server=localhost;
    Database=northwind;Trust_connection=true");  
  2. //這里的連接字符串根據自己的配置進行相應更改即可  
  3. Table<Category> Categorys = db.GetTable<Category>();  
  4. var result =  
  5. from c in Categorys  
  6. select c;  
  7.  
  8. //大家看到了DataContext就相當于ADO.NET中的Connection,但是它提供了更強大功能  
  9. //其中result就相當于IEnumerable<Category>如果不知道為什么會推出這個來,
    可以參考我原來寫的Lambda表達式那篇  
  10.  
  11. //下面可以輸出result中的內容  
  12. foreach(var c in result)  
  13. Console.WriteLine("CategoryId={0},Name={1},Descn={2}",
    c.CategoryId,c.Name,c.Descn); 

以上就是對數據庫的查詢,我們可以寫出很復雜的查詢來,其實在內部,LINQ技術會把你寫的LINQ語句,轉換成SQL語句送到數據庫中去執行。然后返回相應的結果。如果大家想看轉換后的SQL語句,可以在建立完連接之后加上這樣一句:db.Log=Console.Out。這樣程序將自動輸出SQL語句和查詢結果.這里只是簡單的介紹了一下如何查詢,我們知道表與表之間還有關系,這些復雜的東西我們以后在詳細說明。

下面再來看看如何更改

  1. //更改  
  2. string id = “DOGS";  
  3. var cat = db.Categories.Single(c => c. CategoryId == id);  
  4. cat. Name = “New Dogs";  
  5. //添加  
  6. Product p = new Product ...{ …….};  
  7. cat.Products.Add(p);  
  8. //刪除  
  9. string id = “DOGS";  
  10. var cat = db.Categories.Single(c => c. CategoryId == id);  
  11. db.Categories.Remove(cat)  
  12. //提交更改  
  13. db.SubmitChanges();  
  14. //注意, SubmiChanges() 完成了對象層到數據層的更改。
    //也就說不進行提交,更改的結果不會存儲到數據庫中。 

以上只是對LINQ TO SQL進行了簡單的介紹,其實它的內容還有很多。以后在寫LINQ技術專題的時候詳細說明。

【編輯推薦】

  1. LINQ to SQL Table淺談
  2. Linq語句問題的解決方法
  3. Ling to sql更新實體概述
  4. Linq實體繼承簡單描述
  5. Linq Library概述
責任編輯:佚名 來源: IT168
相關推薦

2009-09-07 17:09:45

Linq To Sql

2009-09-08 15:27:08

Linq Select

2009-09-11 12:08:09

Linq to SQL

2009-09-16 17:13:54

學習Linq

2009-09-10 13:54:27

LINQ語法

2009-09-17 13:54:26

LINQ to XML

2009-09-11 13:29:31

LINQ查詢操作

2009-09-16 17:44:54

LINQ to SQL

2009-09-08 10:57:55

LINQ查詢操作

2009-09-08 16:02:47

Linq使用Group

2009-09-17 13:30:32

LINQ to XML

2009-08-19 16:36:29

C#管道技術

2009-09-14 15:15:45

LINQ技術

2009-09-08 17:57:54

LINQ to Dat

2009-09-15 16:52:19

Linq To Dat

2009-09-09 17:14:17

Linq lambda

2009-09-16 13:02:12

LINQ查詢子句

2009-09-17 13:38:42

LINQ to XML

2009-09-08 10:35:24

LINQ技術

2009-09-17 16:20:43

Linq to sql
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕高清免费日韩视频在线 | 欧洲亚洲一区 | 久久青青 | 成人做爰999 | 国产一区二区 | 国产区在线免费观看 | 久久久精品一区二区三区 | 久久精品久久精品久久精品 | 成人免费看片又大又黄 | 精品视频在线一区 | 超碰97人人人人人蜜桃 | 综合精品久久久 | 99精品一区二区 | 在线国产一区 | 国产资源在线视频 | 在线观看视频一区 | 免费黄色的视频 | 自拍偷拍亚洲欧美 | 国产一级在线视频 | 中文字幕人成乱码在线观看 | 国产精品伦一区二区三级视频 | 精品一区二区三区免费毛片 | 久久99精品视频 | 一级片网址 | 婷婷丁香在线视频 | 日韩精品在线观看网站 | 91社区在线观看播放 | 久久久久久亚洲精品 | 狠狠干五月天 | 中文字幕不卡视频在线观看 | 色婷婷精品久久二区二区蜜臂av | 国产日韩欧美91 | 97人人澡人人爽91综合色 | 日本人做爰大片免费观看一老师 | 国产精品伦一区二区三级视频 | wwww.xxxx免费| 国产精品大片 | 七七婷婷婷婷精品国产 | 欧美极品一区二区 | 在线免费观看毛片 | 中文字幕在线观看第一页 |