2.Linq初体验 Linq2SQL示例(原创)


Linq2SQL只是Linq中的一个很小的功能部分,我们今天就来看看用Linq如何对数据库进行增删查改的操作.

我的测试环境是:WIN7 + VS2008 + SQL2005

要想实现用Linq对数据库进行操作,我们要做的事情有如下几个:

1.      创建数据库,表和测试数据

2.      创建Linq To SQL类,配置类和数据库中的表的映射关系

3.      使用Linq的API函数对数据库进行操作

1.      创建数据库,表和测试数据

数据库:

2010122517480341.jpg

User表:

2010122517485613.jpg

测试数据:

2010122517492850.jpg

SQL创建语句:

ContractedBlock.gif 代码

2.      创建Linq To SQL类,配置类和数据库中的表的映射关系

  1.      新建一个Linq To SQL类:

  2010122518005594.jpg

  2.      点击”服务器资源管理器”,然后在”数据连接”中添加我们刚刚创建好的LinQTest数据库为数据源

  2010122518010889.jpg

  3.      将User表拖拽至Linq2SQL设计器中,VS会自动实现User表到User类的映射

  2010122518014470.jpg

  4.      VS自动生成的User类的有关信息都在Linq2SQL.designer.cs中,大家可以打开这个文件好好看看里面都是什么内容

  2010122518020196.jpg

3.      好了,数据库准备完毕,映射也做好了,接下来就是看如何使用Linq来操作数据库了.我们就从查询开始吧,回到Main函数中,我们输入如下代码:

ContractedBlock.gif 代码

运行结果:

2010122518281667.jpg

其中核心代码为:

 
   
var users = linq.User.Select(u => u);

如何?简单吧?一句SQL语句都不用写,连3层架构都不用搭建,就可以如此简单的对数据库进行查询了.

如果你想查询姓zhang的User,还可以这样写:

ContractedBlock.gif 代码

运行结果:

2010122518293749.jpg

其中核心代码为:

 
   
var users = linq.User.Select(u => u).Where(u => u.Name.StartsWith( " zhang " ));

哈哈,是不是也很简单呀?

下面继续讲如何使用Linq进行Insert,在Main中输入如下代码:

ContractedBlock.gif 代码

运行结果:

2010122518303971.jpg

其中核心代码为:

复制代码
 
   
// 插入一个Name为黄聪的用户
User newUser = new User();
newUser.Name
= " 黄聪 " ;

// 使用Linq插入该用户到数据库中
linq.User.InsertOnSubmit(newUser);
linq.SubmitChanges();
复制代码

我们继续看如何使用Linq来更新数据:

ContractedBlock.gif 代码

运行结果:

2010122518313566.jpg

其中核心代码为:

复制代码
 
   
// 查找出要修改的User
User newUser = linq.User.Single(u => u.Id == 1 );
newUser.Name
= " Huang Cong " ;

// 更新至数据库中
linq.SubmitChanges();
复制代码

最后我们来看看如何用Linq来进行数据的删除:

ContractedBlock.gif 代码

运行结果:

2010122518323691.jpg

其中核心代码为:

复制代码
 
   
// 查找出要删除的User
User delUser = linq.User.Single(u => u.Id == 1 );
linq.User.DeleteOnSubmit(delUser);

// 更新至数据库中
linq.SubmitChanges();
复制代码

好了,以上就是我们使用Linq对数据库进行增删改查的示例,很简单,

但是Linq的功能绝对不止这么一些,我会在接下来的文章中和大家一起学习的.

再次声明:

本人也是刚刚开始学习Linq,本文仅提供给与我一样的初学者作为参考,

高手们请不要喷饭哈,如果有错误的地方还请各位见谅~~

相关文章

1.LinQ初体验 简单的示例(原创)

2.Linq初体验 Linq2SQL示例(原创)

3.Linq推迟查询的执行(原创)

4.Ling初体验 匿名类型在查询表达式中的使用

5.Linq初级班 标准查询操作符的使用和调用

6.Linq初级班 Linq To XML体验(编程篇)

7.Linq初级班 Linq To XML体验(基础篇)

8.Linq初级班 Linq To XML体验(高级编程篇)




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/12/25/1916822.html,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值