一、什么是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();//执行修改

LINQ基本语句的更多相关文章

  1. 经典Linq实例语句

    从技术角度而言,LINQ定义了大约40个查询操作符,如select.from.in.where以及order by(C#中).使用这些操作符可以编写查询语句.不过,这些查询还可以基于很多类型的数据,每 ...

  2. linq 常用语句

    自己练习的 switch (productDataAnalysisQuery.DataType) { : var data = (from hp in GPEcontext.hbl_product j ...

  3. c# linq查询语句详细使用介绍

    本文介绍Linq的使用方法 linq介绍 LINQ只不过是实现IEnumerable和IQueryable接口的类的扩展方法的集合. LINQ可以查询IEnumerable集合或者IQueryable ...

  4. 简单的Linq查询语句

    下面我来我大家介绍几种简单的查询方式. 1.简单语法 这个LINQ语句的第一个关键字是from,from后面加的是范围变量,范围变量后加in,后加上事先实例化的模型,然后点出数据的来源. List是列 ...

  5. linq查询语句转mongodb

    && (与操作) 子表达式可以通过&&合并来查询满足所有子表达式的文档 var query = from c in collection.AsQueryable< ...

  6. LINQ 基础语句

    去全部集合 using (dat0216DataContext con = new dat0216DataContext()) { //LoList   是转换成  List集合 List<Us ...

  7. C#参考:Linq 概述

    Linq (Language Integrated Query,语言集成查询),是微软公司提供的一项新技术,它能够将查询功能引入到.NET 3.5 所支持的编程语言中,例如C#,Visual Basi ...

  8. Linq之group子句

    在Linq查询语句中,group子句主要作用是对查询的结果集进行分组.并返回元素类型为IGrouping<TKey,TElement>的对象序列. 下面我们在代码实例中创建一个GroupQ ...

  9. LinQ实战学习笔记(三) 序列,查询操作符,查询表达式,表达式树

    序列 延迟查询执行 查询操作符 查询表达式 表达式树 (一) 序列 先上一段代码, 这段代码使用扩展方法实现下面的要求: 取进程列表,进行过滤(取大于10M的进程) 列表进行排序(按内存占用) 只保留 ...

随机推荐

  1. 51nod 1673 树有几多愁(链表维护树形DP+状压DP)

    题意 lyk有一棵树,它想给这棵树重标号. 重标号后,这棵树的所有叶子节点的值为它到根的路径上的编号最小的点的编号. 这棵树的烦恼值为所有叶子节点的值的乘积. lyk想让这棵树的烦恼值最大,你只需输出 ...

  2. 11Java网络编程

    十一.网络编程       11.1 网络通信协议 网络通信协议:通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信.这就好比在道路中行驶的汽车一定要遵守交通规则一样,协议中对 ...

  3. 【转】一招解决MCU启动异常

    对于主电源掉电后需要继续工作一段时间来用于数据保存或者发出报警的产品,我们往往都能够看见产品PCB板上有大电容甚至是超级电容器的身影.大容量的电容虽然能延时系统掉电,使得系统在电源意外关闭时MCU能继 ...

  4. 【转】在windows中使用Intellij Idea时选择自定义的64位JVM

    原文地址:https://www.iflym.com/index.php/code/201404190001.html 本文英文原文自:https://intellij-support.jetbrai ...

  5. svn查看日志(show log)显示时间为1970的解决方法

    问题: 在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间.解决方法:1.编辑svnserve.conf,设置“anon-access=none” ...

  6. LIS (DP)_代码

    #include <stdio.h> #include <string.h> #include <stdlib.h> int max(int a, int b); ...

  7. 函数和常用模块【day06】:time模块 (一)

    本节内容 1.简述 2.time模块 3.时间格式转换 一.简述 我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & ...

  8. GUI起头

    package com.lovo.frame; import java.awt.Color;import java.awt.Container;import java.awt.Font;import ...

  9. internal in C#

    说白了 被 internal 修饰的东西只能在本程序集(当前项目)内被使用. 被 protected internal 修饰的属性/方法 可以在其他项目中,被派生类使用 例如有两个项目app1和app ...

  10. Linux命令(四)文件传输

    1. 将当前目录下的test1.txt文件,复制到 /tmp/Douzi目录下,命名为test1.py   2. 将服务器/tmp/Douzi/hello.py复制到本地上,重命名为 hello_Do ...