博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
译:在C#中使用LINQ To SQL
阅读量:6228 次
发布时间:2019-06-21

本文共 5202 字,大约阅读时间需要 17 分钟。

译文出处:

 今天在这个话题中,我给大家分享一个在c#编程中非常有趣和十分有用的特性。

开始之前,我想告诉大家关于Linq的基本信息。比如:什么是linq?然后再来分享实际应用。

说明:

LINQ = Language Integrated Query集成查询语言

Linq是微软在.NET Framework 3.5中信增加的一个特性。它是用来查询数据库和对数据库查询的本地集合带来安全性。它非常简单但是很有组织性。一个普通的查询语言,适用于SQL, XML, 本地collections 和 第三方APIs 比如SharePoint.

本质上,Linq提供的就是一个轻量级的编程数据集成。这是非常有价值的,尤其是当今每天面对的数据和未来的大数据。

接下来我们就看看这个神秘的东东。

第一步:

 

  • 打开你的Visual Studio 并且创建一个新的控制台项目.
  • 然后打开服务器资源管理,创建一个新的数据库,新增一张表增加几个字段。
  • 打开你的项目的解决方案目录,右击工程点击添加新增项。
  • 查找LINQ-To-SQL 并添加。
  • 你会看到一个空白的文件,在这个文件中你可以拖动你的表放在 LINQ-To-SQL .dbml 文件扩展上.

第二步:

我将声明一些类,添加一些类成员。

1 class Program2     {                            // this is  program class3         private int id;4         private string name;5         private string fname;6         private int age;7         private string sem;8 }

第三步:

这里我将告诉大家如何通过 LINQ-To-SQL 向数据库中插入数据。

1 public void insert() 2         { 3 // these are the class data members through we will send our objects data in the database 4             Console.WriteLine("Enter id"); 5             id = Convert.ToInt32(Console.ReadLine()); 6             Console.WriteLine("Enter name"); 7             name = Console.ReadLine(); 8             Console.WriteLine("Enter father name"); 9             fname = Console.ReadLine();10             Console.WriteLine("Enter age");11             age = Convert.ToInt32(Console.ReadLine());12             Console.WriteLine("Enter semester");13             sem = Console.ReadLine();14 // this is the data context class the main class which handles 15 // all the functionality in this will pass the connection string of our database file.16             LTSDataContext LTS = new LTSDataContext17             (@"Data Source=(LocalDB)\v11.0;18             AttachDbFilename=C:\Users\Ehtesham Mehmood\Documents\Visual Studio 2012\Projects\19             ConsoleApplication5\ConsoleApplication5\SDatabase.mdf;20         Integrated Security=True;Connect Timeout=30");21         // this is the table class which we drag on our linq to sql file22             Student objStudentTable = new Student();23             objStudentTable.Id = id;24             objStudentTable.Name = name;25             objStudentTable.Father_Name = fname;26             objStudentTable.Age = age;27             objStudentTable.Semester = sem;28             LTS.Students.InsertOnSubmit(objStudentTable); // this is built in function.29             LTS.SubmitChanges();// here is the final query will run in the data context class.30         }

第四步:展示数据

 

1 void Display() 2         { 3             LTSDataContext LTS = new LTSDataContext(@"Data Source=(LocalDB)\v11.0; 4             AttachDbFilename=C:\Users\Ehtesham Mehmood\Documents\Visual Studio 2012\Projects\ 5             ConsoleApplication5\ConsoleApplication5\SDatabase.mdf; 6         Integrated Security=True;Connect Timeout=30"); 7             var selectQuery = from s in LTS.Students 8                               select s; 9             foreach (Student s in selectQuery)10             {11                 Console.WriteLine(s.Id + "\t" + s.Name + "\t" + 12         s.Father_Name + "\t" + s.Age + "\t" + s.Semester);13             }14         }

第五步:删除数据

 

1 void Delete() 2         { 3             int iid = 0; 4             Console.WriteLine("Enter the Id of the student u want to delete?"); 5             iid = Convert.ToInt32(Console.ReadLine()); 6  7             LTSDataContext LTS = new LTSDataContext(@"Data Source=(LocalDB)\v11.0; 8             AttachDbFilename=C:\Users\Ehtesham Mehmood\Documents\Visual Studio 2012\Projects\ 9             ConsoleApplication5\ConsoleApplication5\SDatabase.mdf;10         Integrated Security=True;Connect Timeout=30");11             var delete = from p in LTS.Students12                          where p.Id == iid13                          select p;14             LTS.Students.DeleteAllOnSubmit(delete);15             LTS.SubmitChanges();16             Student objStudentTable = LTS.Students.Single(c=> c.Id == iid);    17         }

第六步:更新数据

 

1 void update() 2         { 3             LTSDataContext LTS = new LTSDataContext(@"Data Source=(LocalDB)\v11.0; 4             AttachDbFilename=C:\Users\Ehtesham Mehmood\Documents\Visual Studio 2012\Projects\ 5             ConsoleApplication5\ConsoleApplication5\SDatabase.mdf; 6         Integrated Security=True;Connect Timeout=30"); 7             Student objStudentTable = new Student(); 8             int iid = 0; 9             Console.WriteLine("Enter the Id of the student u want to update ?");10             iid = Convert.ToInt32(Console.ReadLine());11 12             Console.WriteLine("Enter the new name of the student u want to update?");13             string up = (Console.ReadLine());14                 var update = from s1 in LTS.Students15                              where s1.Id == iid16                              select s1;17                 foreach (var v in update)18                     v.Name = up;19                 LTS.SubmitChanges();20         }

主函数:

 

1 static void Main(string[] arg){2             3            Program p1 = new Program();     // creates object 4            p1.insert();5            p1.Display();6            p1.Delete();7            p1.update();8             Console.ReadKey();9         }

感谢您的阅读,请留下您的足迹。

Cheers! Enjoy coding. Smile | :)

 

 

转载地址:http://wynna.baihongyu.com/

你可能感兴趣的文章
mysql 5.0存储过程学习总结
查看>>
matlab练习程序(Ritter‘s最小包围圆)
查看>>
SQL存储过程教程
查看>>
最详细的临时表,表变量的对比
查看>>
C#中直接打印Report文件(rdlc)
查看>>
C 温故知新 之 指针:基本概念&变量的指针和指向变量的指针
查看>>
引用计数
查看>>
C#:XML操作类 (转)
查看>>
struts2 API chm帮助文档生成介绍说明(转)
查看>>
ORACLE数据缓冲区DB cache
查看>>
数据字典统一管理,动态下拉框
查看>>
不让自己的应用程序在桌面的图标列表里启动显示的方法
查看>>
矩阵的坐标变换(转)
查看>>
汽车常识全面介绍 - 引擎详论
查看>>
枚举类型、结构体和类的区别
查看>>
AngularJS使用ngMessages进行表单验证
查看>>
【Spark 深入学习 01】 Spark是什么鬼?
查看>>
ASP.NET上传控件
查看>>
用Visual Studio 2008进行Silverlight开发的准备工作
查看>>
校园-秋
查看>>