EF的增删改查

查:

ChildrenInterestClassEntities db = new ChildrenInterestClassEntities();
ViewBag.Organization = db.Organization.Where<Organization>(m => m.OrganizationName.Contains(sc) == true).ToArray<Organization>();
ViewBag.Advertisement = db.Advertisement.Where(m => m.AdvertisementId > 0).ToArray<Advertisement>();

            var course = from c in db.Course
                         where c.CourseId == courseId
                         join t in db.Teacher on c.TeacherId equals t.TeacherId
                         join o in db.Organization on c.OrganizationId equals o.OrganizationId
                         join e in db.Evaluation on c.CourseId equals e.CourseId
                         into temp1
                         from e in temp1.DefaultIfEmpty()
                         join u in db.User on e.UserId equals u.UserId
                         into temp2
                         from u in temp2.DefaultIfEmpty()
                         select new
                         {
                             c.CourseId,
                             c.CourseName,
                             c.CourseTime,
                             c.CourseHour,
                             c.Price,
                             c.Object,
                             c.TeacherId,
                             c.Address,
                             c.OrganizationId,
                             c.SchoolTime,
                             c.Description,
                             c.SelledNumber,
                             t.TeacherName,
                             t.honor,
                             t.TeacherDescription,
                             t.TeacherPhone,
                             o.OrganizationName,
                             e.Rank,
                             e.EvaluationDescription,
                             e.EvaluationTime,
                             u.UserName,
                             //o.Phone,
                         };

 

改:

        //ajax修改广告链接
        public ActionResult EditAdvertisementUrl(int id,string AdvertisementUrl)
        {            
            ChildrenInterestClassEntities db = new ChildrenInterestClassEntities();
            Advertisement a = db.Advertisement.Find(id);
            a.Url = AdvertisementUrl;
            db.SaveChanges();
            string _success = AdvertisementUrl;
            return Content(_success);
        }

增:

        //添加机构
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult AddOrganization(AdminAddOrganization organization, IEnumerable<HttpPostedFileBase> Images)
        {
            //ChildrenInterestClassEntities db = new ChildrenInterestClassEntities();
            if (ModelState.IsValid)
            {
                //using中声明的对象,在using语句块结束后会自动释放。
                using (ChildrenInterestClassEntities db = new ChildrenInterestClassEntities())
                {
                    //检查机构名称是否已经存在
                    Organization or = db.Organization.FirstOrDefault(m => m.OrganizationName.Trim() == organization.OrganizationName.Trim());
                    if (or == null)
                    {
                        try
                        {
                            using (TransactionScope ts = new TransactionScope())
                            {
                                //添加一个机构
                                Organization o = db.Organization.Add(new Organization());
                                o.OrganizationName = organization.OrganizationName.Trim();
                                o.Address = organization.Address.Trim();
                                o.Phone = organization.Phone.Trim();
                                o.Description = organization.Description.Trim();
                                if (Images != null)
                                {
                                    //把IEnumerable<T>转化为数组
                                    var images = Images.ToArray();
                                    //把机构图标插入刚刚添加的机构
                                    o.ImageMimeType = images[0].ContentType;
                                    o.ImageData = new byte[images[0].ContentLength];
                                    images[0].InputStream.Read(o.ImageData, 0, images[0].ContentLength);
                                    db.SaveChanges();
                                    //把机构图片插入机构图片表
                                    if (images.Length > 1)
                                    {
                                        for (int i = 1; i < images.Length; i++)
                                        {
                                            if (images[i] != null)
                                            {
                                                OrganizationImg organizationImg = db.OrganizationImg.Add(new OrganizationImg());
                                                organizationImg.OrganizationId = o.OrganizationId;
                                                organizationImg.ImageMimeType = images[i].ContentType;
                                                organizationImg.ImageData = new byte[images[i].ContentLength];
                                                images[i].InputStream.Read(organizationImg.ImageData, 0, images[i].ContentLength);
                                            }
                                        }
                                    }
                                }
                                db.SaveChanges();
                                //保存所有数据,如果没有ts.Complete()则全部回滚.
                                ts.Complete();
                                return RedirectToAction("AddOrganization", "Admin");
                                //return View();
                            }
                        }
                        catch
                        {
                            Response.Write("<scripte>alert('添加失败!')</scripte>");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "机构名称已存在");
                        return View();
                    }
                }
            }
            ModelState.AddModelError("", "提供的数据有误.");
            return View();
        }

删:

        //删除机构
        [HttpPost]
        [ValidateAntiForgeryToken]        
        public ActionResult DeleteOrganization(AdminAddOrganization organization)
        {
            ChildrenInterestClassEntities db = new ChildrenInterestClassEntities();
            //该机构
            var _organization = db.Organization.Find(organization.OrganizationId);
            //该机构的图片
            var _oranizationImg = db.OrganizationImg.Where(m => m.OrganizationId == organization.OrganizationId);
            //该机构的老师
            var teachers = db.Teacher.Where(m=>m.OrganizationId==organization.OrganizationId);
            //该机构的课程
            var courses = db.Course.Where(m => m.OrganizationId == organization.OrganizationId);
            db.Organization.Remove(_organization);
            foreach (var o in _oranizationImg)
            {
                db.OrganizationImg.Remove(o);
            }
            foreach (var t in teachers)
            {
                db.Teacher.Remove(t);
            }
            foreach (var c in courses)
            {
                //该机构的课程图片
                var courseImg = db.CourseImg.Where(m=>m.CourseId==c.CourseId);
                foreach(var ci in courseImg)
                {
                    db.CourseImg.Remove(ci);
                }
                db.Course.Remove(c);
            }
            db.SaveChanges();
            return RedirectToAction("Organization", "Admin");
        }

 

posted @ 2017-04-13 21:06  花生打代码会头痛  阅读(77)  评论(0)    收藏  举报