我想知道数据库查询的最佳做法是什么。我正在使用C#,mysql数据库。
我有一个应用程序,其中我硬编码了所有数据库查询。现在客户端修改了数据库结构。所以我必须再次修改这些查询,因为所有查询都在代码内部,我需要测试应用程序,构建它,创建安装程序以及执行更多与部署相关的事情。
如何避免此类问题?我们应该在哪里查询?在一些纯文本文件或app.config或其他地方?
我希望查询是可配置的,这样当发生这样的事情时,只需要更改配置,不需要更改代码或可执行文件。
我们没有使用存储过程,也没有使用ORM框架。
先谢谢
感谢大家的宝贵意见。我认为在目前的情况下,我能做的最好的事情就是修改查询并尝试从下次开始强调存储过程。
再次感谢。
答案 0 :(得分:4)
我们没有使用存储过程,也没有使用ORM框架。
那些将是你真正的选择。如果你不使用它们,那你就不走运了。
对你而言,最好的做法可能不是技术性的,而是组织性的。设置有关修改数据库的过程。
答案 1 :(得分:1)
存储过程解决了大多数这些问题。适当的架构规划( 之前为其编写代码)也有助于抵消它。
另一种方法是使用程序调用的某种数据库API。将所有内容分开并通过共享的模型库访问它。
答案 2 :(得分:0)
执行此操作的一种方法是使用程序使用的某种通信DLL,这样,如果数据库发生更改,您只需更改正在调用的程序集。
然而,除非你把它写成完全通用的,否则使用键值对或变量的某些东西,你仍然会受到相同的影响。
另一种方法是通过存储过程,在数据库中完成所有工作,只需调用存储的程序来完成工作。
但是,这仍然可能会发生变化。
答案 3 :(得分:0)
您可以向项目添加数据访问层,然后将数据集添加到数据访问层。数据集(.xsd)文件将帮助您组织查询。您将能够将所有查询添加到数据集,这将是您编辑/删除或添加新查询的一站式商店。例如:请转到以下链接
http://www.shiningstar.net/aspnet_articles/DataSet/DataSetProject6.aspx