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开 ...
随机推荐
- 小账本APP——软件项目风险管理及解决办法案例
小账本APP——软件项目风险管理及解决办法案例 摘要 软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响.软件项目风险会影响项目计划的实现,如果项目风险变成现实, ...
- 《R语言入门与实践》第六章:R 的环境系统
前言 这一章在对象的基础之上,讲解了对象所处的环境,进一步讲了环境对对象的作用,以及如何使用环境.结构如下: 环境的定义和操作 环境的规则 制作闭包 环境 R 环境的定义 在 R 中,每一个数据对象都 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 创建复杂工具栏
jQuery EasyUI 数据网格 - 创建复杂工具栏 数据网格(datagrid)的工具栏(toolbar)可以包含按钮及其他组件. 您可以通个一个已存在的 DIV 标签来简单地定义工具栏布局,该 ...
- F1赛道 - Bahrain International Circuit | 巴林国际赛道
刚看完F1巴林站比赛,23点到1点,整整两个小时,比赛相当精彩. 从排位赛结果看,法拉利似乎肯定包揽1-2名,可惜天公不作美,今晚风大.沙多:vettel自己失误,鼻翼掉了,还在被汉密尔顿超车的时候自 ...
- 个人信息——头像更换(拍照或相册上传)~ 微信小程序
微信小程序中 在用户信息中关于用户头像更换(拍照或相册上传)功能实现. 图像点击触发事件: <image src='{{personImage}}' bindtap='changeAvatar' ...
- 基于gensim的LDA主题模型实现 一键式函数打包
def genlda(textlist,n): ticks = str(time.time()).replace('.','')[-6:-1] nn=str(n) dictionary = corpo ...
- ACM 第十一届 河南省省赛A题 计划日
一.题目描述如下: 二.思路分析 其实这个如果是一个填空题,可以直接用Excel快速计算出来,反而用代码比较麻烦 说一下我的代码的思路: 1.如果N大于本月剩下的天数,就先从N天里减去本月剩下的天数, ...
- 大量数据的excel导出
对于大型excel的创建且不会内存溢出的,就只有SXSSFWorkbook了.它的原理很简单,用硬盘空间换内存(就像hash map用空间换时间一样). private void writeToAla ...
- 为虚机Linux系统设置静态IP,ping通外网并解决相关问题
在虚机中安装完Linux系统后,虚机是ping不通外网的,而默认的动态IP会为之后的Hadoop应用造成不少麻烦,为了减少这些不必要的麻烦,我们把系统的IP设置为静态. 步骤: 修改系统配置文件 命令 ...
- ES6 memo
一.热门问题 介绍redux,主要解决什么问题 是管理应用程序状态的库,解决数据管理和数据通信的问题 Promise.Async有什么区别 Async 更简洁,不需要用 then 连接 Promise ...