mvc+linq+EF对数据表的查删改-创新互联

/// /// 查询数据库中学生姓名 /// /// public ActionResult Index() { //使用linq,查询数据上下文中的学生姓名 List list = (from d in db.T_student select d).ToList(); //将集合数据传给视图 ViewData["DataList"] = list; return View(); } /// /// 根据学生ID删除学生 /// /// 学生ID /// public ActionResult Del(string id) { //创建要删除的实体,并将ID赋值给实体对象 T_student modelDel = new T_student() { studentId = id }; //将实体对象添加到EF管理容器 db.T_student.Attach(modelDel); //将实体对象包装类标示为删除状态 db.T_student.Remove(modelDel); //更新数据库 db.SaveChanges(); //更新成功,跳转到Index return RedirectToAction("Index","MyClass");}#region 显示要修改的数据 [HttpGet] /// /// 显示要修改的数据 /// /// 要修改的学生ID /// public ActionResult Modify(string id) { //根据学生ID,查询数据库,返回集合中拿到第一个实体对象 T_student ts = (from a in db.T_student where a.studentId == id select a).FirstOrDefault(); //查询课程名称 IEnumerable listItem=(from c in db.T_class select c).ToList().Select(c=>new SelectListItem{Value=c.classId.ToString(),Text=c.className}); //查询到的课程名称给Viewbag ViewBag.classList = listItem; //使用View,将数据传给视图上名为model的属性 return View(ts); } #endregion #region 保存要修改的数据 [HttpPost] /// /// 保存要修改的数据 /// /// 要修改的学生ID /// public ActionResult Modify(T_student ts) { //将实体对象加入EF对象容器中,并获取包装类对象 DbEntityEntry entry=db.Entry(ts); //将包装类设置为unchange entry.State = System.Data.EntityState.Unchanged; //设置被改变的属性 entry.Property(a=>a.studentName).IsModified=true; entry.Property(a => a.classId).IsModified = true; //提交更新到数据库 db.SaveChanges(); //更新成功,跳转到Index return RedirectToAction("Index", "MyClass"); } #endregion   3.添加查询列表视图(Index.cshtml)mvc+linq+EF对数据表的
查删改 @using MyMvcTest.Models @{ Layout = null; } Index @foreach (T_student student in ViewData["DataList"] as List) { }
id 姓名 课程ID 编辑
@student.studentId @student.studentName @student.classId 删除 修改

添加“修改”视图(modify.cshtml)

十载专注成都网站制作,企业网站制作,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站制作,高端网页制作,对成都混凝土搅拌罐等多个领域,拥有丰富的网站维护经验。@model MyMvcTest.Models.T_student @{ Layout = null; } Modify @using (Html.BeginForm("Modify", "MyClass", FormMethod.Post)) {
修改:@Html.HiddenFor(a=>a.studentId)
课程名称 @Html.DropDownListFor(a => a.classId, ViewBag.classList as IEnumerable)
学生姓名 @Html.TextBoxFor(a => a.studentName)
@Html.ActionLink("返回", "Index", "MyClass")
}
文章题目:mvc+linq+EF对数据表的查删改-创新互联
分享链接:http://scyanting.com/article/eicjc.html