从Using操作符内的函数返回

Bri*_*ian 2 c# linq-to-sql

下面的伪代码好吗?我只是想知道在DataContext之外返回是否总是更好.

public object returnObjectFromDB () { 
   using(var mydatacontext = new Mydatacontext()) 
   { 
       return someobject; 
   }    
}
Run Code Online (Sandbox Code Playgroud)

Tra*_*s J 6

是的,这仍然会执行finallyusing语句的子句,即Disposing your context.

测试它的一种快速方法是在您正在使用的Dispose方法中引发异常.

没有一种强有力的约定方式,但支持任何一种方式.我个人不经常这样做,因为我觉得它略微影响了可读性,但这只是我个人的意见.有时我会在达到一个条件时提前返回,这个条件会使数据上下文的其余工作无效.