Entity framework 使用块的实体框架上下文
我正在编写一个服务层应用程序,它使用实体框架与数据库交互 我将我个人的“工作单元”封装在一个using块中,在这里我初始化了我的数据上下文 但是,我需要抛出一些异常,以便将数据库错误传递给正在使用我的服务应用程序的应用程序。所以我在做这样的事情:Entity framework 使用块的实体框架上下文,entity-framework,exception-handling,Entity Framework,Exception Handling,我正在编写一个服务层应用程序,它使用实体框架与数据库交互 我将我个人的“工作单元”封装在一个using块中,在这里我初始化了我的数据上下文 但是,我需要抛出一些异常,以便将数据库错误传递给正在使用我的服务应用程序的应用程序。所以我在做这样的事情: using (dbcontext = new DbContext()) { throw new Exception("Error while Saving data"); } 有人能确认这是否正常吗?即使在抛出异常后,实体框架数据上下文是否也会被正
using (dbcontext = new DbContext())
{
throw new Exception("Error while Saving data");
}
有人能确认这是否正常吗?即使在抛出异常后,实体框架数据上下文是否也会被正确释放?是。使用finally
块内的disposing逻辑进行编译时,块将转换为try/finally
块
但是,如果Dispose
方法引发异常,则不会在外部引发异常。是,这是正确的。发件人:
using语句可以在using结束时退出
语句,或者抛出异常并离开控件
语句结束前的语句块
也就是说,我会抛出一个比
异常更具体的异常。谢谢Ken。是的,我将在现实中使用更具体的例外:)