我希望我的数据访问层非常模块化。因此,我有一些数据检索方法,有时直接从业务层调用,有时被其他数据检索方法调用以创建对象依赖关系。
在DAL中处理数据库连接的最佳方法是什么?
a) 在每个方法中创建一个新连接并在之后释放它。
优点:易于编写和使用。
缺点:会打开和关闭很多连接。(性能问题?)
b) 将连接作为(可选)参数传递。
优点:可以重复使用打开的连接进行多个命令。
缺点:必须跟踪连接的所有权(谁必须关闭它?),不能使用非常方便的“using”语句。
c) 其他方法?(例如将连接作为单例?)
这是我第一次编写真正的DAL,所以我确实需要一些来自有经验的人的帮助。
编辑:似乎很重要,这是一个ASP.Net网站项目。
在DAL中处理数据库连接的最佳方法是什么?
a) 在每个方法中创建一个新连接并在之后释放它。
优点:易于编写和使用。
缺点:会打开和关闭很多连接。(性能问题?)
b) 将连接作为(可选)参数传递。
优点:可以重复使用打开的连接进行多个命令。
缺点:必须跟踪连接的所有权(谁必须关闭它?),不能使用非常方便的“using”语句。
c) 其他方法?(例如将连接作为单例?)
这是我第一次编写真正的DAL,所以我确实需要一些来自有经验的人的帮助。
编辑:似乎很重要,这是一个ASP.Net网站项目。