ASP.NET MVC控制器通常有这样的:
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
</code>
因此,如果要在操作之外声明上下文,则应验证是否已实现此方法。
事实证明,在第一次执行(选择)时,您的上下文
跟踪Firebird的记录,它永远不会丢弃
。第二次执行将尝试再次选择相同的条目,该条目仍由另一个未正确处理的上下文跟踪。
在每个动作中使用范围内容是另一种解决方法,但从我的角度来看,它有点麻烦。