我是靠谱客的博主 甜美电脑,最近开发中收集的这篇文章主要介绍LINQ对SQL Server数据库的管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

LINQ不仅仅能操作SQL Server数据库,还可以操作数组,集合,DataSet,XML等等

本篇介绍LINQ操作SQL Server数据库

首先,我先介绍LINQ的增删改查的重要步骤:

    第一步:建立数据连接,在我的另一篇博文"<<VS添加数据连接>>"中已经介绍

    第二步:在解决方案中的项目上,右键建立LINQ to SQL类

   第三步:LINQ相关操作

                1.建立LINQ连接对象,根据建立的LINQ to SQL类的上下文建立linq

                声明数据库连接字符串;然后实例化连接对象

                2.书写相应的LINQ语句   var result=..........;

                3.用相应的方法操作语句的执行结果   result

                4.linq.SubmitChanges(); /在增删改时要提交操作

        注意:result 因为result是一个var型变量,它能根据语句的执行结果的类型确定类型,所以result有时可以是DataGridView的数据源,有是只是一个对象,有时又是一个集合等等,总是要从对象的角度看待它。

   

下面是运用LINQ查询和增删改的详细实践介绍:

一:LINQ查询:

根据查询条件和关键字查询数据库到datagridview表

界面设计如下:

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

在右面解决方案,点击右键,添加新项,添加LINQ to SQL类,取名为linqtosqlClass.dbml

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

 

把数据库的表拉到linqtosqlClass.dbml中,结果视图如下:

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

下面是linqtosqlClass的cs设计代码,这是系统自动生成的。

里面主要定义了一个linqtosqlClassDataContext类跟定义读取写入name跟id的属性

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

 

下面是程序的代码:

定义链接数据库的字符串,加载窗体就去取所有数据,点击查询按钮就根据查询条件取数据。其中学号是准确查询,名字是模糊查询。

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

运行测试结果如下:

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

查询学号结果如下:

 

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

查询名字结果如下:

 

Visual Studio 2008中的LINQ操作SQL数据库(C) - 蜕变之旅 - 蜕变之旅的博客

二:使用LINQ管理SQL Server数据库

    添加数据,修改数据,删除数据

    其实只是调用的方法不同而已:

    1.对于添加数据来说:使用LINQ向SQL Server数据库中添加数据时,使用的是InsertOnSubmit方法和SubmitChanges方法

其中InsertOnSubmit方法是用来将处于pending insert状态的实体添加到SQL数据表中,语法格式为:

    void InsertOnSubmit(Object entity)       entity代表要添加的实体

    SubmitChanges方法用来记录要插入,更新或删除的对象,并执行相应命令以实现对数据库的更改,语法格式为:

    public void SubmitChanges()

    同样的步骤过程:

    建立数据库linq连接->创建相应表的类对象并实例化->linq对象.表名.InsertOnSubmit(表相应类的实例对象);->提交操作

    linq.SubmitChanges();

    2.修改数据:需要用到是SubmitChanges方法

    这个过程相比之前还要简单,只需要将需改后的数据提交就可以了

    例子: 

string strCon="server=.;database=db_erp;uid=sa;pwd=123456";
DataClasses1DataContext linq=new DataClasses1DataContext(strCon);
var result=from employee in linq.tb_Employee
           where employ.ID==txtID.Text
           select employee;
foreach(tb_Empolyee tbemployee in result)
{
   相应的复制操作;
   linq.SubmitChanges();
}

      3.删除数据:需要用到的是DeleteAllOnSubmit方法和SubmitChanges方法

    DeleteAllOnSubmit用来将集合中的所有实体置于pending delete状态: void DeleteAllOnSubmit(IEnumerable entities)

    entities表示要移除的所有项的集合

    例子:

    只写关键代码:

    var result=from empolyee in linq.tb_Employee

                       where employee.ID==strID

                       select employee;

    linq.tb_Employee.DeleteAllOnSubmit(result);

    linq.SubmitChanges();

最后

以上就是甜美电脑为你收集整理的LINQ对SQL Server数据库的管理的全部内容,希望文章能够帮你解决LINQ对SQL Server数据库的管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部