【发布时间】:2016-02-12 17:43:53
【问题描述】:
我目前正在开发一个连接到 MySQL 社区服务器数据库并运行一些查询的 C# (.NET) 项目。目前有 4 个类使用自己的 MySQLConnection 对象(我使用的是 MySQL .NET 连接器),以便连接到数据库。
这是一种好的做法,还是我应该使用一个“全局”(静态?)连接?使用单个连接有点违背我构建代码的习惯。不喜欢使用一个共享静态字段的 100000 个对象。我敢打赌这也违背了大多数程序员的观点。
我还注意到,一旦我调用 connection.Close(),连接不一定会关闭。再次尝试 .Open() 会导致异常。我相信这是因为我没有在连接字符串中设置“Pooling=False”。我会用它做实验。如果您对此也有任何想法,请随时将它们放在此处。
所以,简而言之,我想就如何组织我的 MySQLConnections 提出一些意见。如果您认为所有程序的类都使用单个静态 MySQLConnection 更好(不一定在性能方面,我更多地谈论多个 MySQLConnections 对数据库系统本身的影响),请告诉我您为什么这么认为.
我预计最终程序会有大约 10 或 15 个类,每个类都主动查询数据库。
【问题讨论】:
-
该死,我只能选择一个答案。虽然这三个都很棒。然后每个班级一个连接。尽快关闭它,并在需要新连接时创建一个新对象。感谢您提供有关工作单元和 MARS 的提示。