当前位置:首页 > Web开发 > 正文

主要就是在没有AddOrUpdate方法的时候

2024-03-31 Web开发

主要就是在没有AddOrUpdate要领的时候,你想要转变数据库内的一条数据如何操纵

核心操纵(这里主要展示下如何只转变一个字段“ShipName”的值)

(转变整笔记录的值在Attach后面操纵db.Entry(order).State = EntityState.Modified;然后savechange即可,但是注意这样操纵是将新建的order东西对应的字段全部替换了)

[HttpPost] public ActionResult Edit() { int orderID = int.Parse(HttpContext.Request["orderID"]); string shipName = HttpContext.Request["shipname"]; Orders order = new Orders { OrderID = orderID,ShipName = shipName }; db.Set<Orders>().Attach(order); db.Entry(order).Property("ShipName").IsModified = true; db.Entry(order).Property("ShipName").CurrentValue = shipName; db.SaveChanges(); return Redirect("/Orders/Edit/?id="+orderID); }

后台代码:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Data.Entity; using T1_EF.Models; namespace T1_EF.Controllers { public class OrdersController : Controller { DbContext db = new NorthwindEntities(); // GET: Orders public ActionResult Index() { var list = from order in db.Set<Orders>() select order; ViewData.Model = list; return View(); } public ActionResult Edit(int id) { var data = db.Set<Orders>().Where(o=>o.OrderID==id).FirstOrDefault(); ViewData.Model = data; return View(); } [HttpPost] public ActionResult Edit() { int orderID = int.Parse(HttpContext.Request["orderID"]); string shipName = HttpContext.Request["shipname"]; Orders order = new Orders { OrderID = orderID,ShipName = shipName }; db.Set<Orders>().Attach(order); db.Entry(order).Property("ShipName").IsModified = true; db.Entry(order).Property("ShipName").CurrentValue = shipName; db.SaveChanges(); return Redirect("/Orders/Edit/?id="+orderID); } } }

View Code

前台代码Index.cshtml:

@model IEnumerable<T1_EF.Models.Orders> @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> <table border="1"> <tr> <td>订单编号</td> <td>客户名称</td> <td>船舶公司</td> <td>船名</td> <td>改削</td> </tr> @foreach (var item in Model) { <tr> <td>@item.OrderID</td> <td>@item.Customers.CompanyName</td> <td>@item.Shippers.CompanyName</td> <td>@item.ShipName</td> <td><a href="@Url.Action("Edit","Orders")?id[email protected]">改削</a></td> </tr> } </table> </div> </body> </html>

View Code

Edit.cshtml:

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30463.html