我试图在我的应用程序中创建一个删除功能,用户应该能够从表中删除产品,但是当用户按下删除按钮时,错误消息" InvalidOperationException:无法删除未附加的实体"过来。我无法弄清问题是什么,因为它获得了用户想要删除的产品(并在视图中显示)但是当它出现在HttpPost方法中时,(当用户通过按下删除按钮确认他想要删除此产品时),出现错误消息...所有其他方法仅工作(创建,编辑,列出...)删除方法没有。如果有人可以帮助我,我真的很感激。 这是我的代码:
public Product GetProductById(int id)
{
db = new NorthwindDataContext();
var prod = (from p in db.Products
where p.ProductID==id
select p).Single();
return prod;
}
这是productRepository类的代码... 公共产品DeleteProduct(产品) { db = new NorthwindDataContext(); db.Products.DeleteOnSubmit(产品); db.SubmitChanges(); 退货; }
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
Uri storeUri = Uri.parse(path);
File file = new File(path);
Boolean b=file.delete();
Log.d("DeletepathStoreUri",b.toString());
inImage.recycle();
return storeUri;
}
答案 0 :(得分:0)
只需在删除操作
中传递产品的ID即可 [HttpPost]
public ActionResult DeleteConfirmed(int id)
{
Product_Table Ptobj = db.Product_Table.find(id);
db.Product_Table.remove(Ptobj);
db.savechanges()
}