溫馨提示×

溫馨提示×

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

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

怎么用Linq to SQL訪問數(shù)據(jù)庫

發(fā)布時間:2021-12-02 09:27:53 來源:億速云 閱讀:176 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“怎么用Linq to SQL訪問數(shù)據(jù)庫”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

在向大家詳細(xì)介紹Linq之前,首先讓大家了解下使用Linq to SQL訪問數(shù)據(jù)庫,包括介紹建立一個C# Console Application測試我們的ORM。

使用Linq to SQL訪問數(shù)據(jù)庫

我們首先新建一個工程。為了簡單起見,我們就直接建立一個C# Console Application測試我們的ORM吧。將這個工程命名為LinqToSqlDemo.Test。當(dāng)然,建好工程后,不要忘了添加對工程LinqToSqlDemo.Orm的引用,還要添加對“System.Data.Linq”命名空間的引用。

然后,我們打開Program.cs文件,將其中的內(nèi)容替換為如下測試代碼。

  1. using System;  

  2. using System.Collections.Generic;  

  3. using System.Data.Linq;  

  4. using System.Linq;  

  5. using System.Text;  

  6.  

  7. using LinqToSqlDemo.Orm;  

  8.  

  9. namespace LinqToSqlDemo.Test  

  10. {  

  11. class Program  

  12. {  

  13. private static DataClassesDataContext 
    dataContext = new DataClassesDataContext();  

  14.  

  15. private static void Output()  

  16. {  

  17. //輸出分類信息  

  18. foreach (Category c in dataContext.Categories)  

  19. {  

  20. Console.WriteLine("分類" + c.ID + ":" + c.Name);  

  21. }  

  22.  

  23. //輸出體育新聞下的公告信息  

  24. Category categorySport = dataContext.Categories.Single(c => c.Name == "體育新聞");  

  25. foreach (Bulletin b in categorySport.Bulletins)  

  26. {  

  27. Console.WriteLine("標(biāo)題:" + b.Title);  

  28. Console.WriteLine("內(nèi)容:" + b.Content);  

  29. Console.WriteLine("發(fā)布日期:" + b.Date);  

  30. Console.WriteLine("所屬分類:" + b.Category1.Name);  

  31. }  

  32. }  

  33.  

  34. private static void TestInsert()  

  35. {  

  36. //生成分類實(shí)體類  

  37. Category category1 = new Category()  

  38. {  

  39. Name = "國際要聞" 

  40. };  

  41. Category category2 = new Category()  

  42. {  

  43. Name = "體育新聞" 

  44. };  

  45. Category category3 = new Category()  

  46. {  

  47. Name = "財(cái)經(jīng)快報(bào)" 

  48. };  

  49.  

  50. //生成公告實(shí)體類  

  51. Bulletin bulletin1 = new Bulletin()  

  52. {  

  53. Content = "曼聯(lián)晉級冠軍杯四強(qiáng)",  

  54. Date = DateTime.Now,  

  55. Title = "曼聯(lián)晉級冠軍杯四強(qiáng)" 

  56. };  

  57. Bulletin bulletin2 = new Bulletin()  

  58. {  

  59. Content = "18:00直播亞冠首爾VS山東,敬請期待?。?!",  

  60. Date = DateTime.Now,  

  61. Title = "18:00直播亞冠首爾VS山東" 

  62. };  

  63.  

  64. //將公告加入相應(yīng)分類  

  65. category2.Bulletins.Add(bulletin1);  

  66. category2.Bulletins.Add(bulletin2);  

  67.  

  68. //加入數(shù)據(jù)庫  

  69. dataContext.Categories.InsertOnSubmit(category1);  

  70. dataContext.Categories.InsertOnSubmit(category2);  

  71. dataContext.Categories.InsertOnSubmit(category3);  

  72. dataContext.SubmitChanges();  

  73. }  

  74.  

  75. private static void TestDelete()  

  76. {  

  77. dataContext.Categories.DeleteOnSubmit
    (dataContext.Categories.Single(c => c.Name == "國際要聞"));  

  78. dataContext.SubmitChanges();  

  79. }  

  80.  

  81. private static void TestUpdate()  

  82. {  

  83. Category categoryFinance = dataContext.
    Categories.Single(c => c.Name == "財(cái)經(jīng)快報(bào)");  

  84. categoryFinance.Name = "財(cái)經(jīng)新聞";  

  85. dataContext.SubmitChanges();  

  86. }  

  87.  

  88. static void Main(string[] args)  

  89. {  

  90. Console.WriteLine("===Linq to SQL 測試===");  

  91. Console.WriteLine();  

  92.  

  93. Console.WriteLine("===測試Insert===");  

  94. Console.WriteLine();  

  95. TestInsert();  

  96. Output();  

  97.  

  98. Console.WriteLine("===測試Delete===");  

  99. Console.WriteLine();  

  100. TestDelete();  

  101. Output();  

  102.  

  103. Console.WriteLine("===測試Update===");  

  104. Console.WriteLine();  

  105. TestUpdate();  

  106. Output();  

  107.  

  108. Console.ReadLine();  

  109. }  

  110. }  

  111. }  

我們先來看看這段測試程序做了什么事。剛開始,數(shù)據(jù)庫是空的,我們首先插入三個分類,并在“體育新聞”下插入兩條公告,這是對Insert的測試。接著,我們刪除了“國際要聞”分類,這是對Delete的測試。然后,我們將“財(cái)經(jīng)快報(bào)”改為“財(cái)經(jīng)新聞”,這是對Update測試。另外,整個過程的輸出當(dāng)然是對Select的測試。這樣,數(shù)據(jù)庫基本的操作都測試過了。從輸 出結(jié)果來看,我們的ORM組件運(yùn)行很順利,程序輸出正確。

“怎么用Linq to SQL訪問數(shù)據(jù)庫”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI