/// <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 == 1 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 == 1 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 == 33); //升序排序 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 = 2;//查询第二页 int pageSize = 2;//每页显示两条数据 //lambda分页查询===skip:表示跳过多少条记录,take:取多少条记录 var userInfoList = db.Customer.Where<Customer>(U => true).OrderByDescending(u => u.ID).Skip<Customer>((pageIndex - 1) * pageSize).Take<Customer>(pageSize); //linq分页查询===skip:表示跳过多少条记录,take:取多少条记录 var userInfoList = (from u in db.Customer where u.ID > 100 orderby u.ID descending select u).Skip<Customer>((pageIndex - 1) * 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 == 1 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=2}; 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 == 3 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 == 2 select u).FirstOrDefault(); var orderInfoList = Customer.OrderInfo; while (orderInfoList.Count > 0) { 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 == 1 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(); } }