zoukankan      html  css  js  c++  java
  • 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注册。

  • 相关阅读:
    Linux系统 Docker RabbitMQ容器集群部署
    Linux系统 SSH免密登入
    ubuntu server 乱码
    简单总结在github上托管工程
    在线编译系统之nodejs执行shell
    Ubuntu中软件安装与卸载
    ubuntu软件安装
    “cannot find module ‘npmlog’….”的错误
    关于事件的一点小总结
    mongodb基本操作
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319483.html
Copyright © 2011-2022 走看看