LINQ之增删改查

2024-08-21 15:48
文章标签 改查 增删 linq

本文主要是介绍LINQ之增删改查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

   LINQ,语言集成查询(LanguageIntegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

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







   开始学习LinQ总是抱着一种感觉自己很虚的心情,做项目了,结果还要临时学习新的内容:PD、EF、LINQ、MongDB。难道是之前学的东西都没有用呢?就抱着这样的疑问,问师傅们。加上今天米老师的讲课。才明白了什么是即学式。平时学习是在培养一种能力,等到了真正做项目的时候,让你学什么都可以从容的去接受说:恩,对我来说很简单,五天学习四样东西也是可以接受的。

   就以LINQ为例来说,对于入门者来说,马上就要上手项目,那么学习的目的性十分的明确。既然可以用来代替SQL语句,显然先去了解它的增删改查是首先要做的。从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及order by(C#中)。使用这些操作符可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型。其实看看这些高大上的查询操作符,和我们当初写的SQL语句是一样的。只不过是顺序有变化而已。



LINQ增删改:


<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Common;
namespace FirstLinq
{public partial class _Default : Page{NorthwindDataContext ctx = new NorthwindDataContext("Data Source=.;Initial Catalog=linq;Persist Security Info=True;User ID=sa;Password=123456");protected void Page_Load(object sender, EventArgs e){//Linq1();//Linq2();Linq3();}/// <summary>/// 增删改查/// </summary>private void Linq3(){//增t_User user = new t_User();user.ID = 1;user.UserName = "周洲";user.Pwd = "11111";ctx.t_User.InsertOnSubmit(user);ctx.SubmitChanges();//改t_User userUpdate = ctx.t_User.SingleOrDefault(t_User => t_User.ID == 0);userUpdate.UserName = "周洲改名字";ctx.SubmitChanges();//删t_User userDelete = (from userinfo in ctx.t_User where userinfo.ID == 1 select userinfo).FirstOrDefault();if (userDelete != null){ctx.t_User.DeleteOnSubmit(userDelete);ctx.SubmitChanges();}}</span>



LING查:


        /// <summary>/// 熟悉Linq to sql语法/// </summary>private void Linq2(){Customers customer = new Customers();//执行普通的sql语句,查询CustomerID="ANATR"的记录IEnumerable<Customers> customers = ctx.ExecuteQuery<Customers>("select * from Customers where CustomerID='ANATR'");customer = customers.First();Response.Write(customer.CustomerID);//使用Linq查询单条记录var cus = from c in ctx.Customers where c.CustomerID.Equals("ANATR") select c;customer = cus.First();Response.Write(customer.CompanyName);//查询结果集,语法:from 临时表名 in 表集合 orderby 临时表名.字段名 升级序 select 临时表名gdvCustomers.DataSource = from cust in ctx.Customers where cust.CustomerID != "ANATR" orderby cust.CompanyName descending select cust;gdvCustomers.DataBind();}


小结:


    LINQ的原理其实挺简单,LINQ像是把面向对象和关系型数据模型结合了起来。这样的一种技术就把数据真正映射成一个对象,方便去操作和管理。你再也不必去根据不同的情况用字符串拼接的办法生成SQL语句,而是专心于对象模型的处理即可,这些方法层面的操作都会被转换成对应的增删改查语句,在submit的时候全部转到数据库中。总而言之,linq to sql是一个数据库到对象结构的一个中间层, 他把对关系数据的管理转变为对象的操作,屏蔽了麻烦的sql,而且,还可以得到vs强大的智能感知功能的帮助。 

 




这篇关于LINQ之增删改查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093591

相关文章

[MySQL表的增删改查-进阶]

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 💻💻💻数据库约束 🔭🔭🔭约束类型 not null: 指示某列不能存储 NULL 值unique: 保证某列的每行必须有唯一的值default: 规定没有给列赋值时的默认值.primary key:

08 增删查功能

划重点: lable 标签keyup:键盘事件标签内添加样式:style使用事件修饰符:preventforEach :遍历 数组indexOf: 可以返回要查询的某个字符串值在整个字符串中首次出现的位置下标findIndex:返回传入一个测试条件(函数)符合条件数组的首个元素的位置splice:向/从数组中添加/删除项目,然后返回被删除后的新的项目数组 黑椒蟹 一对: <!DOCTYPE

JSP的增删改查part2

增加显示数据库表格cdsn的功能 1. 》》对CdsnDao接口和方法,CdsnService接口和方法进行处理,并增加CdsnServlet用于对新建展示页面进行处理 对cdsnDao接口和方法增加 》》接口 //获取cdsn用户数据列表 public List<cdsn> getCdsnList();》》CdsnDaoImpl增加内容//获得数据库所有数据publ

JSP的增删改查part1

运用Myeclisp对数据库进行增删改查 要建立6个库 1).其中dao层用与连接数据库和对数据库进行相关操作; 2).entity层用于存放数据库连接后的实体数据; 3.)service层是在mcv三层模式中新添加一层,能够更加清晰的定义应用程序的边界,需要操作数据的时候,通过service层访问DAO层来实现。

QT QxOrm CRUD增删改查mysql数据库操作

QT QxOrm CRUD增删改查mysql数据库操作 QxOrm 是一个 C++ 库,旨在为 C++ 用户提供对象关系映射 (ORM) 功能。 基于每个类的简单 C++ 设置函数(如 Java 中的 Hibernate XML 映射文件),QxOrm 库提供以下功能: 持久性: 支持最常见的数据库,如 SQLite、MySQL、PostgreSQL、Oracle、MS SQL Server、Mo

ES增删改查内部原理

一、ES查询内部原理 客户端发起请求到集群协调节点coordinate node若是根据docId(不是根据docId查询则根据随机轮询算法,分配到所有分片查询)查询则根据路由算法,找到分片根据随机轮询算法,将请求分摊给主备节点,达到负载均衡的目的各个节点将结果返回给协调节点,由协调节点统一返回数据给客户端 二、ES增删改内部原理 客户端发起创建的请求到集群协调节点coordinate

MyBatis的增删改查基本操作

MyBatis和Hibernate的使用基本一样,区别在于Hibernate在Java代码中实现数据库操作,集成度高;Mybatis在注解或者xml文件中通过配置实现SQL语句,更加灵活 创建使用MyBatis的Java项目 1. 创建并配置 创建Java项目并引入MyBaits的jar文件配置log4j.properties(用于查看执行的SQL语句,日志等) log4j.ro

6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)

目录 一.堆(Heap)的基本介绍 二.堆的常用操作(以小根堆为例) 三.实现代码 3.1 堆结构定义 3.2 向下调整算法* 3.3 初始化堆* 3.4 销毁堆 3.4 向上调整算法*  3.5 插入数据 3.6 删除数据 3.7 返回堆顶数据 四.下篇内容 1.堆排序 2.TopK问题 一.堆(Heap)的基本介绍         了解堆之前我们要简

JAVA调用增删改的存储过程

JAVA调用增删改的存储过程 1、创建添加存储过程 CREATE OR REPLACE PROCEDURE stu_proc(v_id IN NUMBER, v_name IN VARCHAR2, v_age IN NUMBER) ASBEGIN INSERT INTO student(id, sname, age) values (v_id, v_name, v_age);com

华为云征文|Flexus云服务X实例应用,通过QT连接华为云MySQL,进行数据库的操作,数据表的增删改查

引出 4核12G-100G-3M规格的Flexus X实例使用测评第3弹:Flexus云服务X实例应用,通过QT连接华为云MySQL,进行数据库的操作,数据表的增删改查 什么是Flexus云服务器X实例 官方解释: Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负