Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 4 EF 4是否先编码';的ContextBuilder是否处理其SqlConnection?_Entity Framework 4_Code First - Fatal编程技术网

Entity framework 4 EF 4是否先编码';的ContextBuilder是否处理其SqlConnection?

Entity framework 4 EF 4是否先编码';的ContextBuilder是否处理其SqlConnection?,entity-framework-4,code-first,Entity Framework 4,Code First,首先查看ADO.Net EF 4 CTP 3中的代码,并想知道中的SqlConnection是如何处理的。这是ContextBuilder的责任吗?示例中是否缺少该选项 var connection = new SqlConnection(DB_CONN); var builder = new ContextBuilder<BloggingModel>(); var connection = new SqlConnection(DB_CONN); using (va

首先查看ADO.Net EF 4 CTP 3中的代码,并想知道中的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))
  {
      //... 
  }
var连接=新的SqlConnection(DB_CONN);
var builder=new ContextBuilder();
var连接=新的SqlConnection(DB_CONN);
使用(var ctx=builder.Create(connection))
{
//... 
}
。因此,只要连接是关闭的——我想你会发现它是关闭的,但不要相信我的话——示例代码就可以工作


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

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

至少在CTP3中,当处理ObjectContext时,不处理连接


因为我已经在对ObjectContext进行子类化,所以我在子类中实现了IDisposable,并从中调用Connection.Dispose()。

这段代码与链接上的代码不完全相同,但我认为这是一个剪切粘贴错误。@Craig:为了清楚起见,只需缩写一下…:-)我知道处理连接也会关闭它,但示例代码处理的是ctx,而不是连接。(对我来说)尚不清楚ContextBuilder的合同是否确保它将处理(并因此关闭)给定的连接。让我重新措辞:因为ContextBuilder关闭连接,所以不需要处理连接。ContextBuilder在我的测试中没有关闭连接(请参阅我的单独答案)。