我正在尝试在asp.net vNext SPA应用程序中使用EF。
我正在使用AddScoped()在依赖注入容器中注册上下文类(就像他们在示例中一样),但是当我试图对实体执行删除操作时,我会得到奇怪的错误。有时删除有效,有时我得到
Invalid operation. The connection is closed.
有时我得到一个
The connection was not closed. The connection's current state is open.
这只发生在删除操作中,我找不到'connection is open'和'connection is closed'出现的模式。
这是我的delete方法主体(该方法是虚拟的,因为这是一个基本控制器,尽管还没有覆盖它):
public virtual async Task<IActionResult> Delete(int id)
{
var t = await Items.SingleOrDefaultAsync(i => i.ID == id);
if (t == null)
return new HttpStatusCodeResult((int)HttpStatusCode.NoContent);
Items.Remove(t);
AppContext.SaveChanges();
return new HttpStatusCodeResult((int)HttpStatusCode.OK);
}
迁移到alpha3后问题消失