【2017-06-01】Linq基础+Lambda表达式实现对数据库的增删改查
一、Linq to sql 类
高集成化的数据库访问技术
使用Linq可以代替之前的Ado.Net。省去了自己敲代码的实体类和数据访问类的大量工作。
实体类:
添加一个Linq to sql 类 ----选择要使用的数据库---- 拖入要使用的表 就相当于实体类建完了。
如果进行属性扩展,在App_Code下添加类,类名同表名一致。将该类在访问修饰符后加上partial,将该类定为实体类的一部分

数据访问类:
不用在App_Code下再建数据访问类了。
直接在使用数据访问类的地方用数据库上下文进行编写。

conn.Users.ToList(); //是将Users表转化为一个泛型集合。也就相当于查询全部的方法。
添加数据:
每一条数据都是一个实体类对象。先将其实例化出来
再给对象的每个属性赋值。
利用数据库上下文进行添加数据操作
添加的方法:con.Users.InsertOnSumbit(对象);
执行要操作的方法:con.SubmitChanges();

删除数据:
删除数据前要先查到这条数据再进行删除操作
通过ids进行查询这条数据返回一个对象
Users u = con.Users.Where(r=>r.ids.Tostring()==ids).FirstOrDefault();
where括号内接的是Lambda表达式r代表每一行数据,=>是基本格式 FirstOrDefault()返回第一条数据或者返还空
如果u不是空,则利用数据库上下文进行删除。
con.Users.DeleteOnSubmit(对象);
con.SubmitChanges();

数据的修改:
数据的修改同样也是需要先查到这条数据,将返回的这个对象的要修改的属性进行重新赋值
然后直接提交改变。
con.SubmitChanges();

Lambda表达式
con.Users.Where(r=>r.ids.Tostring()==ids).FirstOrDefault();返回满足条件的第一条数据或者返还空
如果是两个条件查询的话用&&接
con.Users.Where(r=>r.UserName=="zhangsan" && r.PassWord=="123").FirstOrDefault();
【2017-06-01】Linq基础+Lambda表达式实现对数据库的增删改查的更多相关文章
- 【基础篇】js对本地文件增删改查
[基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查
- 【基础篇】js对本地文件增删改查--查
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--改
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--删
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 【基础篇】js对本地文件增删改查--增
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- [Android] SQLite数据库之增删改查基础操作
在编程中常常会遇到数据库的操作,而Android系统内置了SQLite,它是一款轻型数据库,遵守事务ACID的关系型数据库管理系统,它占用的资源非常低,可以支持Windows/Linux/Un ...
- mysql基础之mariadb对表中数据的增删改查
复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...
- Linq基础+Lambda表达式对数据库的增删改及简单查询
一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net,省去了自己敲代码的实体类和数据访问类的大量工作 实体类: 添加一个Linq to sql 类 --- ...
- APS.NET MVC + EF (01)---Linq和Lambda表达式
1.1 Linq介绍 LINQ全称 Language Integrated Query(语言集成查询).为我们提供一种统一的方式来查询和操作各种数据. LINQ to Object:是针对实现了IEn ...
随机推荐
- MySQL一个简单的存储过程demo
使用的工具是Navicat for MySQL. 首先创建一个学生表 mysql) ) ) auto_increment,age ) ) not null,primary key(s_no)); Qu ...
- (一)一起学 Java Collections Framework 源码之 概述
. . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述 JDK 中很多类 LZ 已经使用了无数次,但认认真真从源码级研究过其原理的还只占少数,虽然从 ...
- Extjs6组件——Form大家族成员介绍
本文基于ext-6.0.0 一.xtype form一共有12种xtype,下面来一一举例说一下. 1.textfield 这个是用的最多的form之一. { xtype: 'textfield', ...
- JavaWeb的国际化(17/4/8)
国际化的缺点: 因为文字不同,所以带来的排版问题一样严重,通常都是重新在写一个网站反而更加清晰,快捷 1:需要从浏览器中获取到浏览器语言(Accept-Language) 2:利用locale获取 ...
- iOS开发 - 适配Https的野路子
大致写下适配Https时遇到的坑,做完服务器迁移一直通宵到现在,表示无力再多做详解,只放一些常见问题的解决方案吧 问题一.Https请求失败 1. NetManager初始化时可参考如下设置(因为我没 ...
- .net软件反编译笔记
在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编 ...
- (函数封装)获取class名称
使用原生JavaScript,获取类操作符时:即使使用getElementByClassName,在Firefox和IE9以下是不兼容的.Firefox下是可以用它获取的到元素而IE不行,一般框架都会 ...
- hibernate 插入数据时让数据库默认值生效
用hibernate做数据库插入操作时,在数据库端已经设置了对应列的默认值,但插入的数据一直为null.查找资料发现,原来是hibernate的配置项在作怪. Hibernate允许我们在映射文件里控 ...
- 开始更新webpack踩坑笔记
今天开始学习webpack,记录下踩过的坑-zxf
- OC中@class的使用
作用: 可以简单地引用一个类简单使用@class Dog; //类的引入 #import "Dog.h"仅仅是告诉编译器:Dog是一个类;并不会包含Dog这个类的所有内容 具体使用 ...