![]() |
1
11
(是评论) 理论上,您不应该从业务逻辑访问数据库——它应该在一个单独的数据访问类中。(例如,将来需要以XML脱机存储它们,或者使用Oracle而不是SQL Server…您不想重新编写业务逻辑!) 业务对象不应具有与其关联的数据库连接。连接应该以某种DAL工厂类型的方法打开,检索/构建对象,然后关闭连接并返回对象。 业务对象本身应该包含业务逻辑字段和方法,这些字段和方法可能会回调到数据访问层,后者应该为每个DAL方法创建一个新的数据库连接。 你的低效恐惧可以通过使用连接池来消除,这意味着如果你打开和关闭一个连接数百次,它们都有可能使用同一个连接。但是您不应该让数据库连接一直挂在周围,尤其是作为类的成员。 希望有帮助! |
![]() |
2
8
我的理解是,只要需要,联系就应该保持开放。大多数时候我在使用语句时都看到了连接,类似于
|
![]() |
3
7
此链接可能有帮助: Best Practices for Using ADO.NET 这是一个有趣的摘录。
我一直遵循在using块中打开连接的实践,因此总是调用Dispose方法(因此也调用Close方法),而不必担心它。使用这种方法,我从来没有遇到过这样一种情况,即性能不佳与过多的并发连接或过多的设置或关闭操作有关。 |
![]() |
4
6
在回答这两个问题时,如果您使用的是具有连接池的内容,如ado.net,则应将查询编码为使连接保持打开状态
尽可能短
. 即。
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 5 月前 |
![]() |
CactusCake · if语句中应有分号 6 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 6 月前 |