/// <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();
            }
        }