温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Linq to SQL访问数据库

发布时间:2021-12-02 09:27:53 来源:亿速云 阅读:155 作者:iii 栏目:编程语言

本篇内容介绍了“怎么用Linq to SQL访问数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在向大家详细介绍Linq之前,首先让大家了解下使用Linq to SQL访问数据库,包括介绍建立一个C# Console Application测试我们的ORM。

使用Linq to SQL访问数据库

我们首先新建一个工程。为了简单起见,我们就直接建立一个C# Console Application测试我们的ORM吧。将这个工程命名为LinqToSqlDemo.Test。当然,建好工程后,不要忘了添加对工程LinqToSqlDemo.Orm的引用,还要添加对“System.Data.Linq”命名空间的引用。

然后,我们打开Program.cs文件,将其中的内容替换为如下测试代码。

  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("标题:" + b.Title);  

  28. Console.WriteLine("内容:" + b.Content);  

  29. Console.WriteLine("发布日期:" + b.Date);  

  30. Console.WriteLine("所属分类:" + b.Category1.Name);  

  31. }  

  32. }  

  33.  

  34. private static void TestInsert()  

  35. {  

  36. //生成分类实体类  

  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 = "财经快报" 

  48. };  

  49.  

  50. //生成公告实体类  

  51. Bulletin bulletin1 = new Bulletin()  

  52. {  

  53. Content = "曼联晋级冠军杯四强",  

  54. Date = DateTime.Now,  

  55. Title = "曼联晋级冠军杯四强" 

  56. };  

  57. Bulletin bulletin2 = new Bulletin()  

  58. {  

  59. Content = "18:00直播亚冠首尔VS山东,敬请期待!!!",  

  60. Date = DateTime.Now,  

  61. Title = "18:00直播亚冠首尔VS山东" 

  62. };  

  63.  

  64. //将公告加入相应分类  

  65. category2.Bulletins.Add(bulletin1);  

  66. category2.Bulletins.Add(bulletin2);  

  67.  

  68. //加入数据库  

  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 == "财经快报");  

  84. categoryFinance.Name = "财经新闻";  

  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. }  

我们先来看看这段测试程序做了什么事。刚开始,数据库是空的,我们首先插入三个分类,并在“体育新闻”下插入两条公告,这是对Insert的测试。接着,我们删除了“国际要闻”分类,这是对Delete的测试。然后,我们将“财经快报”改为“财经新闻”,这是对Update测试。另外,整个过程的输出当然是对Select的测试。这样,数据库基本的操作都测试过了。从输 出结果来看,我们的ORM组件运行很顺利,程序输出正确。

“怎么用Linq to SQL访问数据库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI