您的位置:首页 > 数据库

linq to sql基本的操作(读,添加,删除,更新)

2007-08-15 18:40 525 查看
基本的linq to sql的操作。只涉及到一个表的操作哦。使用 vs2008 beta2标准版和sqlserver2000

如果对linq没有一点知识的话先看其他文章啊。这里不讲的

这里使用sqlserver2000中的数据库Northwind中的Region表。

首先定义一个和数据库表关联的实体类;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using System.Data.Linq.Mapping;//要手动添加dll引用的啊。有点奇怪

namespace LINQTest2.EntityClass
{
[Table(Name="Region")]//表名
public class Region
{
[Column(IsPrimaryKey=true)]//是否是主键
public int RegionID;

[Column]
public string RegionDescription;//和数据库表中对应的列。都要加[Column]特性。
}
}

读取:

每步操作都要涉及这个东西

DataContext dc = new DataContext(System.Configuration.ConfigurationSettings.AppSettings["DB"].ToString());//参数就是数据库链接字符串,得到数据库的上下文环境
Table<LINQTest2.EntityClass.Region> tabRegion = dc.GetTable<LINQTest2.EntityClass.Region>();//用到泛型的知识了。看看就知道了。就是得到Region表的实体类集合。

然后

var result = from reg in tabRegion
select reg;//这就是创建查询的步骤;

执行查询。显示在listbox中

foreach(var item in result)
{
this.listBox1.Items.Add(item.RegionID.ToString()+" : " +item.RegionDescription );
}

这就完成读取操作了

添加操作:

前两步同样,copy一下就好了

LINQTest2.EntityClass.Region reg = new LINQTest2.EntityClass.Region();//实例华一个类。并且赋值
reg.RegionID = int.Parse(this.textBox1.Text.Trim());
reg.RegionDescription = this.textBox2.Text.Trim();
tabRegion.Add(reg);//然后实体类集合添加这个新定义的类。就吧这个新记录添加到数据表中了
dc.SubmitChanges();//调用这个方法才执行的啊。

//你要理解这里的实体类对应的是数据表的一行。

删除操作:

钱两步一样。、

效果是这样的你输入一个主键。然后根据主键删除这条记录

var result = from temp in tabRegion
where temp.RegionID == int.Parse(this.textBox3.Text.Trim())//这个地方得到输入的主键
select temp;//返回得到的实体类集合,这还是创建查询步骤饿

然后执行查询

foreach (var item in result)
{
tabRegion.Remove(item);//删除这个记录
}
dc.SubmitChanges();

更新数据:

前两步一样。效果也是输入一个主键。然后根据主键修改这个Region表的描述那个字段

var result = from temp in tabRegion
where temp.RegionID == int.Parse(this.textBox3.Text.Trim())//得到主键

select temp;

执行查询

foreach (var item in result)
{
item.RegionDescription = this.textBox4.Text.Trim();//新的内容
}

dc.SubmitChanges();//调用方法

就这么简单。然后在看看怎么一对多等的外键操作

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐