0

查看 ADO.Net EF 4 CTP 3 中的 Code First 并想知道他们的演练SqlConnection中是如何处理的。那是 ContextBuilder 的责任吗?示例中是否缺少它?

  var connection = new SqlConnection(DB_CONN);
  var builder = new ContextBuilder<BloggingModel>();
  var connection = new SqlConnection(DB_CONN);

  using (var ctx = builder.Create(connection))
  {
      //... 
  }
4

2 回答 2

1

我刚刚意识到我可以向 ObjectContext.Disposing 添加一个事件处理程序并解决这个问题。

至少在 CTP 3 中,在释放 ObjectContext 时不会释放 Connection。

由于我已经将 ObjectContext 子类化,因此我在子类中实现了 IDisposable 并从那里调用 Connection.Dispose() 。

于 2010-06-11T04:07:06.727 回答
0

CloseDisposeinSqlConnection在功能上是等价的。因此,只要连接关闭——我想你会发现它是,但不要相信我的话——示例代码就可以工作。

但既然你问了,你可能还是应该把它处理掉。它不会造成任何伤害,并且会阻止其他人问同样的问题。

于 2010-06-11T02:48:47.333 回答