我能告诉我如何更新我的实体:
public void VendreProduit(int idproduit, int idcentre)
{
var produit = db.Produits.FirstOrDefault(p => p.ProduitId == idproduit);
int qtn = produit.ProduitQuantite - 1;
db.Configuration.ValidateOnSaveEnabled = false;
Produit prod = new Produit();
prod.ProduitQuantite = qtn;
db.Produits.Attach(prod);
db.Entry(prod).Property(p => p.ProduitQuantite).IsModified = true;
db.SaveChanges();
Vondu v = new Vondu();
v.ProduitId = idproduit;
v.CentreId = idcentre;
v.VonduDate = DateTime.Now;
db.Vondus.Add(v);
db.SaveChanges();
}
我想更新产品的数量,我正在使用这种方法,但它不起作用并产生异常。
System.Data.Entity.Infrastructure.DbUpdateConcurrencyException' occurred in EntityFramework.dll but was not handled in user code
答案 0 :(得分:2)
通过DbContext跟踪实体的更改。没有必要开发新产品。
public void VendreProduit(int idproduit, int idcentre)
{
var produit = db.Produits.FirstOrDefault(p => p.ProduitId == idproduit);
produit.ProduitQuantite -= 1;
db.SaveChanges();
}