EF7 alpha 连接状态问题

Posted

技术标签:

【中文标题】EF7 alpha 连接状态问题【英文标题】:EF7 alpha connection state problems 【发布时间】:2014-10-06 14:00:31 【问题描述】:

我正在尝试在 asp.net vNext SPA 应用程序中使用 EF。

我正在使用 AddScoped() 将上下文类注册到依赖注入容器中的构建(就像他们在示例中那样),但是当我尝试对实体执行删除操作时,我得到了奇怪的错误。 有时删除有效,有时我得到一个

Invalid operation. The connection is closed.

有时我会得到一个

The connection was not closed. The connection's current state is open.

这仅发生在删除操作中,我找不到关于何时出现“连接打开”和“连接关闭”的模式。

这是我的删除方法主体(该方法是虚拟的,因为这是一个基本控制器,尽管还没有覆盖它):

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);

【问题讨论】:

这可能与#141 有关。如果您不这么认为,您是否介意提交一个新错误以便团队中的某个人进行调查? 谢谢。 (#555) 【参考方案1】:

迁移到 alpha3 后问题消失

【讨论】:

以上是关于EF7 alpha 连接状态问题的主要内容,如果未能解决你的问题,请参考以下文章

在带有 EF7 的 ASP.NET5.0 中添加连接字符串以使用 dll 存储库库(基于 EF6)

如何从 EF7 DbContext 获取 ConnectionString

EF 7 alpha 3:Azure 表存储

如何在 EF 7 alpha 中添加外键

MCSessionState 从连接状态变为未连接状态

android实现沉浸式状态栏