ABP(现代ASP.NET样板开发框架)系列之12、ABP领域层——工作单元(Unit Of work)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之12、ABP领域层——工作单元(Unit Of work) ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ABP的官方网站 : http://www.aspnetboilerplate.com ABP在Github上的开源项目 : https://github.com/aspnetboilerplate 通用连接和事务管理方法 连接和事务管理是使用数据库的应用程序最重要的概念之一。当你开启一个数据库连接,什么时候开始事务,如何释放连接...诸如此类的。 正如大家都知道的,.Net使用连接池(connection pooling)。因此,创建一个连接实际上是从连接池中取得一个连接,会这么做是因为创建新连接会有成本。如果没有任何连接存在于连接池中,一个新的连接对象会被创建并且添加到连接池中。当你释放连接,它实际上是将这个连接对象送回到连接池。这并不是实际意义上的释放。这个机制是由.Net所提供的。因此,我们应该在使用完之后释放掉连接对象。这就是最佳实践。 在应用程序中,有两个通用的方来创建/释放一个数据库连接: 第一个方法 :在Web请求到达的时候,创建一个连接对象。(Application_BeginRequest这个位于global