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开 ...
随机推荐
- Lyrics来源
Lyre 里拉琴,古希腊语,在北欧流行至中世纪. Lyrics in sheet music. This is a homorhythmic (i.e., hymn-style) arrangem ...
- 正向代理or反向代理
正向代理 我访问不了某网站比如www.google.com,但是我能访问一个代理服务器 这个代理服务器呢,它能访问那个我不能访问的网站,于是我先连上代理服务器,告诉它我需要那个无法访问网站的内容,代理 ...
- python学习之读写csv文件(使用pandas)
简介 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序 ...
- mysql学习之check无效的解决及触发器的使用
SQL的约束种类: 一.非空约束 not null 二.唯一约束 unique 三.主键约束 四.外键约束 五.check约束 该约束可用于列之间检查语义限制的,实际应用过程中非常常用!! 然鹅,My ...
- C语言 九九乘法表
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { int i,j,k; ...
- 【二分查找】 跳石头NOIP2015提高组 D2T1
[二分查找]跳石头NOIP2015提高组 D2T1 >>>>题目 [题目描述] 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石 ...
- nginx日志相关运维操作记录
在分析服务器运行情况和业务数据时,nginx日志是非常可靠的数据来源,而掌握常用的nginx日志分析命令的应用技巧则有着事半功倍的作用,可以快速进行定位和统计. 1)Nginx日志的标准格式(可参考: ...
- learning makefile set debug level and build command
- 网页链接跳转qq聊天界面以及QQ群是什么实现的
网页可以唤起QQ群,这我们都知道可以做到,那如何唤起呢?下面就做一个简单的介绍,希望可以帮助到有需要的朋友 1.官方提供的几种加群的链接 官方的加群代码的获取前提是我们具有权限(也就是群主或管理权限) ...
- jQuery.support属性
jQuery.support 属性包含表示不同浏览器特性或漏洞的属性集. 此属性主要用于 jQuery 的内部使用 jQuery.support主要包括以下测试: boxModel: 如果这个页面和浏 ...