linq

1、Linq to sql 类 简称:LinQ,它就是一个集成化的数据库访问类,它会自动生成许多原本需要我们自己创建的东西;

它和ADO.NET是一样的东西,都是为了访问数据库而出现的,EF框架

一、创建LinQ类:dbml就是LinQ文件

在App_Code里,右键添加Linq to sql 类(如果没有就在添加新项中找),打开LinQ类,点击服务器资源管理器,然后点绿色加号和小插头组成的按键链接。连接上数据库,在服务器管理器上数据库
名前会变成绿色,点开数据库,选择要用的表,拖到LinQ里。

注意:有主键值的表才可以用

1.简单的添加查询

public class studentdata
{
    Datao425DataContext con = null;//Datao425DataContext这就是linq类自动创间的访问上下文的类

    public studentdata()
    {
        con = new Datao425DataContext();
    }

    //查询stuudent的全部内容 返回的list泛型集合
    public List<student> setectall()
    { 
        
       //两种方法都可以直接查询所有数据

       //List<student> list = new List<student>();

       //list = con.student.ToList();


       //return list;

        return con.student.ToList();

    }

    public student select(string code)//查询的是一条数据
    {
        return con.student.Where(r => r.Code == code).FirstOrDefault();
    }


    
    public void Insert(student ss)
    {
        con.student.InsertOnSubmit(ss);//添加到数据库
        con.SubmitChanges();//执行上边的准备好的  执行数据库
    }
}

2、字段扩展
系统生成的实体类里用的private(一部分)
在App_Code里添加一个实体类:构造函数不需要。

//字段扩展
public partial class student//partial 一部分
{
    public string SexStr {
        get {
            if (_Sex != null)
            {
                return (bool)_Sex ? "" : "";
            }
            else
            {
                return "暂无信息";
            }
        }
    }
    
}

3、删除

 public void Delete(string code)
    {
        //con.student查寻stundtn表  Where是条件 r 代表的是每一行的数据  First是第一个
        var s = con.student.Where(r => r.Code == code).First();
        con.student.DeleteOnSubmit(s);
        con.SubmitChanges();//执行上边的准备好的  执行数据库
    }

4、修改

  public void Updata(student ss)
    {
        //通过ss穿过来的主键值Code在数据库中查到这条数据
        var stu = con.student.Where(r => r.Code == ss.Code).FirstOrDefault();

        //修改查出来的数据
        stu.Name = ss.Name;
        stu.Sex = ss.Sex;
        stu.Birthday = ss.Birthday;
        stu.Score = ss.Score;

        con.SubmitChanges();
    }

 

posted on 2016-08-07 11:17  爱意红沉  阅读(160)  评论(0编辑  收藏  举报