Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据库查询的最佳实践是什么?_C#_Database - Fatal编程技术网

C# 数据库查询的最佳实践是什么?

C# 数据库查询的最佳实践是什么?,c#,database,C#,Database,我想知道什么是数据库查询的最佳实践。我正在使用C#,mysql数据库 我有一个应用程序,其中我硬编码了所有数据库查询。现在客户端已经修改了数据库结构。所以我必须再次修改这些查询,因为所有查询都在代码中,所以我需要测试应用程序,构建它,创建安装程序,并做更多与部署相关的事情 如何避免这些问题?我们应该把我们的疑问放在哪里?在某个纯文本文件或app.config或其他地方 我更希望查询是可配置的,这样当出现类似情况时,只需要更改配置,而不需要更改代码或可执行文件 我们没有使用存储过程,也没有ORM框

我想知道什么是数据库查询的最佳实践。我正在使用C#,mysql数据库

我有一个应用程序,其中我硬编码了所有数据库查询。现在客户端已经修改了数据库结构。所以我必须再次修改这些查询,因为所有查询都在代码中,所以我需要测试应用程序,构建它,创建安装程序,并做更多与部署相关的事情

如何避免这些问题?我们应该把我们的疑问放在哪里?在某个纯文本文件或app.config或其他地方

我更希望查询是可配置的,这样当出现类似情况时,只需要更改配置,而不需要更改代码或可执行文件


我们没有使用存储过程,也没有ORM框架

提前谢谢

感谢大家的宝贵意见。我认为在目前的情况下,我所能做的最好的事情就是修改查询,并从下次开始强调存储过程


再次感谢。

实现这一点的一种方法是使用程序使用的某种通信dll,这样,如果数据库发生更改,您只需更改正在调用的程序集

然而,除非你写的是完全通用的,使用键值对或者其他变量,你仍然会受到同样的影响

另一种方法是通过存储过程,完成数据库中的所有工作,然后调用存储过程来完成工作


但这仍然可能会发生变化。

存储过程解决了这些问题中的大部分。适当的模式规划(在为它编写代码之前)也有助于抵消它

另一种方法是让程序调用某种数据库API。将所有内容分离出来,并通过共享的模型库访问它


我们没有使用存储过程,也没有ORM框架

那将是你真正的选择。如果你不使用它们,你就不走运了

也许对你来说,最好的做法不是技术上的,而是组织上的。设置有关修改数据库的过程

  • 对数据库的更改必须经过所有相关方的讨论和同意
  • 应提前将数据库更改通知相关各方,以便有时间作出反应

您可以将数据访问层添加到项目中,然后将数据集添加到数据访问层中。数据集(.xsd)文件将帮助您组织查询。您将能够向数据集中添加所有查询,这将是您编辑/删除或添加新查询的一站式服务。例如:请转到以下链接


“我们不使用存储过程”为什么不?GôTôTôTôTôTôTôTôTôTôTôTôTôTôT。在我看来,组织已经把你锁定在非最佳实践中。我想是的。我建议使用存储过程,但是。。。无论如何,我认为在这种情况下,我能做的最好的事情就是再次更改查询。