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

基本的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注册。

原文地址:https://www.cnblogs.com/zjypp/p/2319483.html