让我们看看我是否可以逐步明确:
namespace InventoryManager.Controllers
{
public class InventoryController : ApiController
{
private readonly IInventoryRepository repository;
//...
public HttpResponseMessage DeleteItem(int id)
{
// Executes fine
repository.Remove(id);
return new HttpResponseMessage(HttpStatusCode.NoContent);
}
}
}
正在执行Remove
中定义的InventoryRepository
方法:
namespace InventoryManager.Models
{
public class InventoryRepository : IInventoryRepository
{
private InventoryContext context;
//...
public void Remove(int id)
{
InventoryItem item = context.Items.Find(id);
// Executes fine
context.Items.Remove(item);
}
}
}
但是,我检查了我的数据库,没有删除任何项目。这是为什么?可能缺少某些信息,请告诉我您还需要什么。
我遇到调试问题,因为我不在我的元素中。如果您有调试方法,或者我可以查找某些事情/关键字以帮助解决我的问题,我将非常感激。
答案 0 :(得分:5)
确保您针对Items
提交对DataContext
所做的更改:
context.SubmitChanges();
context.SaveChanges();
答案 1 :(得分:1)
试试这个
public void Remove(int id)
{
InventoryItem item = context.Items.Find(id);
context.Items.Remove(item);
context.SaveChanges();
}