EF简单的CURD操作
/// <summary>
/// EF添加数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
tb_one user = new tb_one();
user.Name = "测试一";
user.sex = true;
user.Address = "广东东莞市南城街道";
user.Aihao = "敲代码";
user.Photo = "/images/icon.png";
tb_qrcodeEntities db = new tb_qrcodeEntities();//EF上下文对象
db.tb_one.Add(user);//把数据添加到EF且添加添加标记
db.SaveChanges();//保存到数据库,返回受影响的行
Response.Write(user.ID);//自增编号
}
/// <summary>
/// EF数据查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnSearch_Click(object sender, EventArgs e)
{
tb_qrcodeEntities db = new tb_qrcodeEntities();//EF上下文对象
//var
IQueryable<tb_one> user = from u in db.tb_one
where u.ID ==
select u;
foreach (var userInfo in user)//EF延时加载机制,用到的时候才去查询
{
Response.Write(userInfo.Name);
}
}
/// <summary>
/// EF查询部分列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
Model2Container db = new Model2Container();//EF上下文对象
var userInfoList = from u in db.Customer
where u.ID ==
select new{Uname=u.CustomerName,Upwd=u.CustomerPwd };
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.Uname + ":" + userInfo.Upwd); }
}
/// <summary>
/// EF lambda表达式查询 分页查询 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
//lambda表达式方式查询
Model2Container db = new Model2Container();//EF上下文对象
//查询编号==33的所有数据
var userInfoList = db.Customer.Where<Customer>(u => u.ID == );
//升序排序
var userInfoList = db.Customer.Where<Customer>(U => true).OrderBy<Customer, int>(u => u.ID);
//降序排序
var userInfoList = db.Customer.Where<Customer>(U => true).OrderByDescending(u => u.ID);
//分页查询
int pageIndex = ;//查询第二页
int pageSize = ;//每页显示两条数据
//lambda分页查询===skip:表示跳过多少条记录,take:取多少条记录
var userInfoList = db.Customer.Where<Customer>(U => true).OrderByDescending(u => u.ID).Skip<Customer>((pageIndex - ) * pageSize).Take<Customer>(pageSize);
//linq分页查询===skip:表示跳过多少条记录,take:取多少条记录
var userInfoList = (from u in db.Customer
where u.ID >
orderby u.ID descending
select u).Skip<Customer>((pageIndex - ) * pageSize).Take<Customer>(pageSize);
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.CustomerName);
} }
/// <summary>
/// EF删除数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnDelete_Click(object sender, EventArgs e)
{
//第一种方法:先查出要删除的对象,再更新删除
tb_qrcodeEntities db = new tb_qrcodeEntities();//EF上下文对象
var userList = from u in db.tb_one
where u.ID ==
select u;
tb_one userInfo = userList.FirstOrDefault();//返回查找到的第一个元素
if (userInfo != null)
{
//db.tb_one.Remove(userInfo);
db.Entry<tb_one>(userInfo).State = System.Data.EntityState.Deleted;
db.SaveChanges();
}
else {
Response.Write("要删除的数据不存在!");
} //第二种方法:根据ID删除
tb_one userinfo1 = new tb_one() { ID=};
db.Entry<tb_one>(userinfo1).State = System.Data.EntityState.Deleted;
db.SaveChanges();
}
/// <summary>
/// 删除指定会员的订单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDel_Click(object sender, EventArgs e)
{ //第一种方法:先查找出来再删除
Model2Container db = new Model2Container();//EF上下文对象
var orderInfoList = from u in db.OrderInfo
where u.CustomerID ==
select u;
foreach (var orderInfo in orderInfoList)
{
db.Entry<OrderInfo>(orderInfo).State = System.Data.EntityState.Deleted;
}
db.SaveChanges();
Response.Write("delete success!!!"); //第二种方法
Model2Container db = new Model2Container();//EF上下文对象
var Customer = (from u in db.Customer
where u.ID ==
select u).FirstOrDefault();
var orderInfoList = Customer.OrderInfo;
while (orderInfoList.Count > )
{
var orderInfo = orderInfoList.FirstOrDefault();
db.Entry<OrderInfo>(orderInfo).State = System.Data.EntityState.Deleted;
}
db.SaveChanges();
Response.Write("delete success!!!");
}
/// <summary>
/// EF编辑数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnEdit_Click(object sender, EventArgs e)
{
tb_qrcodeEntities db = new tb_qrcodeEntities();//EF上下文对象
var userList = from u in db.tb_one
where u.ID ==
select u;
tb_one userInfo = userList.FirstOrDefault();
if (userInfo != null)
{
userInfo.Name = "qrcode";
db.Entry<tb_one>(userInfo).State = System.Data.EntityState.Modified;
db.SaveChanges();
}
}
EF简单的CURD操作的更多相关文章
- ThinkPHP中简单的CURD操作
前言 我们通过一个简答例子来简述CURD的操作.首先看一下数据库的样子,其中id为自增行,其它是varchar 一.查询操作 首先,创建在Controller文件夹下创建一个User控制器,在该控制器 ...
- 使用PHP操作SQL 完成简单的CURD操作
1.从数据库出发,先建立测试数据,这里使用的MYSQL,通过脚本模式创建测试数据. SET NAMES UTF8; DROP DATABASE IF EXISTS disk; CREATE DATAB ...
- Node.js学习笔记(3) - 简单的curd
这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简 ...
- 8天掌握EF的Code First开发系列之2 简单的CRUD操作
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 创建控制台项目 根据.Net中的类来创建数据库 简单的CRUD操作 数据库模式更改介绍 本章小结 本人的实验环境 ...
- 一个简单的ORM制作(CURD操作类)
SQL执行类 CURD操作类 其他酱油类 此篇是为上篇文章填坑的,不知道上篇砸过来的砖头够不够,不够的话请大家继续砸. CURD操作类负责将用户提供的条件转换为SQL语句,并提供给IHelper执行, ...
- EF 的 CURD 操作
EF 的 CURD 操作 这里采用了数据库 Northwind,下载地址:https://northwinddatabase.codeplex.com/ 增 /// <summary> / ...
- ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作
前言: 本章主要通过一个完整的示例讲解ASP.NET Core MVC+EF Core对MySQL数据库进行简单的CRUD操作,希望能够为刚入门.NET Core的小伙伴们提供一个完整的参考实例.关于 ...
- SmartSql使用教程(1)——初探,建立一个简单的CURD接口服务
一.引言 最近SmartSql被正式引入到了NCC,借着这个契机写一个使用教程系列 二.SmartSql简介[摘自官方文档] 1. SmartSql是什么? SmartSql = MyBatis + ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
随机推荐
- 第 10 章 容器监控 - 079 - 监控利器 sysdig
sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器. 通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为. Linux 上有很多常用的监控工具,比如 strace,t ...
- 什么是,session、cookies、token
在一片文章上看到关于cookies和session 的解释,大概意思是这样的. 说你去星巴克喝咖啡,你平均一星期去两次,你的操作是看菜单,点咖啡.结账 加入你三星期不去,店员也许不及得你了,你依旧需要 ...
- 第一次java程序设计作业
通过JAVA语言的学习,使我对计算机语言有了更加深入的认识和理解.知道了许多JAVA语言与其他语言的区别和特性,及其在我们生活中所发挥的重要作用.最后用一句话表明在学习JAVA语言过程中的感受,那就是 ...
- Confluence 6 针对 'unmigrated-wiki-markup' 宏重新尝试合并
在签名的章节中,我们主要是针对没有完全合并完成余下的为合并内容的异常处理.最常见的情况是内容以及被合并了,但是页面使用 wiki 标记的内容没有被合并,通常这些 wiki 标记的内容使用了 'unmi ...
- excel 批量上传图片
1.在excel中 输入公式 ="<table><img src=""D:\素材\"&A2&".jpeg&quo ...
- Vue的父子组件间通信及借助$emit和$on解除父子级通信的耦合度高的问题
1.父子级间通信,父类找子类非常容易,直接在子组件上加一个ref,父组件直接通过this.$refs操作子组件的数据和方法 父 这边子组件中 就完成了父 => 子组件通信 2. 子 =&g ...
- vue 修改 端口号
具体步骤如下: vue小白交流群,希望能够帮助到大家!
- arcpy简单示例
最好在arcmap内置python模块运行. 这里用的是Zonel Stastic as Table模块,计算各个国家的逐月径流量的统计数据.需要对数百个tiff进行计算和导出,使用arcpy可以大大 ...
- linux-基础命令篇-02
基本命令:--LS 关于显示的颜色含义: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 红色闪烁:表示链接的文件有问题 黄色:表示设备文件 灰色:表示 ...
- web页面锁屏初级尝试
因为工作需要,所以在网上找了一些素材来弄这个功能.在我找到的素材中,大多都是不完善的.虽然我的也不是很完善,但是怎么说呢.要求不是很高的话.可以直接拿来用的[需要引用jQuery].废话不多说直接上代 ...