日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LINQ技術(shù)學(xué)習(xí)經(jīng)驗

LINQ有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ技術(shù),包括介紹LINQ TO SQL等方面

成都創(chuàng)新互聯(lián)公司技術(shù)團隊十年來致力于為客戶提供做網(wǎng)站、成都網(wǎng)站制作、品牌網(wǎng)站設(shè)計、營銷型網(wǎng)站、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務(wù)、推廣了上千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。

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

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

要想查詢數(shù)據(jù)庫中表的數(shù)據(jù),就要先建立對數(shù)據(jù)庫表的映射,就像要想使用ADO.NET就需要先把數(shù)據(jù)庫中的數(shù)據(jù)存到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;  

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

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

下面可以查詢了

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

以上就是對數(shù)據(jù)庫的查詢,我們可以寫出很復(fù)雜的查詢來,其實在內(nèi)部,LINQ技術(shù)會把你寫的LINQ語句,轉(zhuǎn)換成SQL語句送到數(shù)據(jù)庫中去執(zhí)行。然后返回相應(yīng)的結(jié)果。如果大家想看轉(zhuǎn)換后的SQL語句,可以在建立完連接之后加上這樣一句:db.Log=Console.Out。這樣程序?qū)⒆詣虞敵鯯QL語句和查詢結(jié)果.這里只是簡單的介紹了一下如何查詢,我們知道表與表之間還有關(guān)系,這些復(fù)雜的東西我們以后在詳細說明。

下面再來看看如何更改

 
 
 
  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() 完成了對象層到數(shù)據(jù)層的更改。
    //也就說不進行提交,更改的結(jié)果不會存儲到數(shù)據(jù)庫中。 

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

【編輯推薦】

  1. LINQ to SQL Table淺談
  2. Linq語句問題的解決方法
  3. Ling to sql更新實體概述
  4. Linq實體繼承簡單描述
  5. Linq Library概述

本文名稱:LINQ技術(shù)學(xué)習(xí)經(jīng)驗
文章源于:http://www.dlmjj.cn/article/cdoiopg.html