gpt4 book ai didi

MySQL 的 c# 包装器类,在方法之间共享 "MySqlConnection()"对象是个好主意吗?

转载 作者:行者123 更新时间:2023-12-01 00:47:43 25 4
gpt4 key购买 nike

我正在为 MySQL 编写 c# 包装器类,我需要知道是否可以将“new MySqlConnection(connstr)”放入构造函数中,然后在将要操作数据库的方法之间使用相同的对象?我是否应该为每个操作(选择、插入、删除、更新)创建一个新连接并在完成后销毁它。编写 MySQL 包装器有什么想法或更好的方法吗?

最佳答案

我建议不要共享该连接。

它不会像在需要时从池中取出连接、执行 SQL 操作、关闭资源,然后将连接返回到池中那样扩展。

我认为最好的做法是将 SQL 对象限制在数据访问层并在尽可能窄的范围内使用它们。不要将它们四处传播 - 如果您这样做,清理它们的责任并不清楚。

连接应该由了解用例、工作单元和事务的服务拥有。让它检查连接,使其对所有需要它的 DAO 可用,然后提交或回滚并关闭连接。

应该为 DAO 提供数据库连接。他们不应该自己收购它们,因为他们永远不知道它们是否属于更大交易的一部分。

关于MySQL 的 c# 包装器类,在方法之间共享 "MySqlConnection()"对象是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19597413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com