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开 ...
随机推荐
- 序列比对和构建进化树(clustalw和phylip)
安装clustalw很简单,不提了. 找了几个蛋白序列进行比对,命名为dm.fasta 1.输入 ./clustalw2 进入交互模式 2.选择1 并输入文件名字 3.输入2, 进行多序列比对 4. ...
- 【转】LVDS基础、原理、图文讲解
转自:https://blog.csdn.net/wangdapao12138/article/details/79935821 LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平 ...
- Lab 10-3
This lab includes a driver and an executable. You can run the executable from anywhere, but in order ...
- hdoj3247
注意fail时怎么走. #include <iostream> #include <cstdio> #include <cmath> #include <al ...
- python--个人信息修改程序
创建一个新的文本,account.txt,输入以下个人信息内容, lanyinhua,lanyinhua,蓝银花,22,Model,PR,22alex,123,华仔 Li,222,CEO,IT,133 ...
- Vue 知识整理—02-起步
一:Vue 语法格式: vue vm = new Vue({ //选项 }) 二:Vue 实例: <div id="app"> <p>{{message}} ...
- matlab 三维激光雷达点云的地面与障碍物检测
基于激光雷达的地面与障碍物检测 这个例子告诉我们如何去检测地平面并且找到三维LIDAR数据中与车相近的障碍物. 这个过程能够方便我们对汽车导航的可行驶区域规划. 注:每一帧的雷达属于都被存储为三维的雷 ...
- linux-基础命令篇-01
基本命令: who:目前有谁在在线 netstat -a:网络的联机状态 ps -aux:背景运行的程序 sync:将数据同步写入硬盘中的命令 shutdown:惯用的关机命令 reboot, hal ...
- linux逻辑卷管理(LVM)
1. 逻辑卷(LVM)的原理 LVM(Logical Volume Manager)逻辑卷管理 是在物理磁盘和文件系统的之间添加一个逻辑层,通过对底层物理磁盘的封装,以逻辑卷的方式呈现给上层应用,通过 ...
- Linux Shell函数定义与调用
一.Shell函数定义格式 shell函数定义格式,各部分说明如下: [ function ]等中括号括起来部分----表示可选(即可有可无) your_function_name部分----为函数名 ...