LINQ基本语句

一、什么是LINQ

1.定义:LINQ是Language Integrate Query的缩写,它在对象和数据之间建立一种对应关系,可以使用访问内存对象的方式查询数据集合。

2.特点:由于LINQ中查询表达式访问的是一个对象,所以该对象本身可以表示各种类型的数据源。比如SQL Server数据库、XML文档、ADO.NET数据集,以及内存中的数据集合。

3.有关接口和类

(1)接口

1)IEnumerable<T>接口:它表示可以查询的数据集合,一个查询通常是逐个对集合中的元素进行筛选操作,返回一个新的IEnumerable<T>对象,用来保存查询结果。

2)IQueryable<T>接口:它继承了IEnumerable<T>接口,表示一个可以查询的表达式目录树。

(2)类

1)Enumerable类:通过对IEnumerable<T>提供扩展方法,实现LINQ标准查询运算符。包括过滤、导航、排序、查询、联接、求和、求最大值、求最小值等操作。

2)Queryable类:通过对IQueryable<T>提供扩展方法,实现LINQ标准查询运算符。包括过滤、导航、排序、查询、联接、求和、求最大值、求最小值等操作。

二、操作

1.添加

        goods goods = new goods();
        //绑定数据
        goods.ID = Convert.ToInt32(TextBox1.Text);
        goods.name = TextBox2.Text;
        goods.price = Convert.ToDecimal(TextBox3.Text);
        goods.counts = Convert.ToInt32(TextBox4.Text);
        data.goods.InsertOnSubmit(goods);//添加数据
        data.SubmitChanges();//执行添加数据操作

2.删除

        int id = Convert.ToInt32(TextBox9.Text);
        //查询方式一
        var result = from message in data.goods where message.ID == id select message;//查出要删除的数据源
        //查询方式二
        var result = data.goods.Where(r=>r.ID==id).First();//Lambda表达式查询
        data.goods.DeleteAllOnSubmit(result);//准备删除
        data.SubmitChanges();//执行删除

3.修改

        int id = Convert.ToInt32(TextBox5.Text);
        //查询方式一
        var result = from message in data.goods where message.ID == id select message;
        foreach (goods datas in result)//遍历修改数据
        {
            datas.name = TextBox6.Text;
            datas.price = Convert.ToDecimal(TextBox7.Text); ;
            datas.counts = Convert.ToInt32(TextBox8.Text);
        }
        //查询方式二
        var result = data.goods.Where(r=>r.ID==id).FirstOrDefault();
        result.name = TextBox6.Text;//修改数据
        result.price = Convert.ToDecimal(TextBox7.Text);
        result.counts = Convert.ToInt32(TextBox8.Text);
        data.SubmitChanges();//执行修改
原文地址:https://www.cnblogs.com/bosamvs/p/5755462.html