我可以使用 Linq to Entities 添加和删除数据库表。但是,以下代码不会更新数据库。 (没有异常(exception),或任何 - 它只是不更新。):
// Change box qty
var pnumber = Request.Form["PartNumber"];
var oid = Session["OOID"];
var uid = WebSecurity.CurrentUserId;
var newqty = Request.Form["Quantity"];
var c = (from item in database.Carts
where item.UserId ==
uid && item.PartNumber ==
pnumber && item.OrderId == (string)oid
select item.Boxes).FirstOrDefault();
c = newqty.AsInt();
database.SaveChanges();
Response.Redirect("~/Protected/Account/Shopping/Cart");
任何想法我可能做错了什么,或者如何解决这个问题?我搜索了 Stack Overflow 并尝试了 Answers 和 Google 上提供的各种示例,但它们几乎完全相同,但没有帮助。
最佳答案
您基本上需要检索实体(记录)本身而不仅仅是属性(列)以便能够通过 EF 更新它:
var newqty = Request.Form["Quantity"];
var c = (from item in database.Carts
where item.UserId ==
uid && item.PartNumber ==
pnumber && item.OrderId == (string)oid
select item).FirstOrDefault();
c.Boxes = newqty.AsInt();
database.SaveChanges();
关于c# - 使用 Linq to Entities 更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834339/