存储过程或在c#文件上编写查询

本文关键字:查询 文件 存储过程 | 更新日期: 2023-09-27 18:04:06

我正在开发一个基于。net c#的桌面应用程序....我有点卡在决定是否在存储过程中或在我的。cs文件本身写查询…这个桌面应用程序有搜索/过滤/报告查询很多....开发后,我必须将我的应用程序数据库移动到托管在互联网上的服务器上....那么哪一个到达服务器的成本更低,交易效率更高.....

我请求你感谢你的祝福。

PS::我是开发新手,所以抱歉,如果有什么不正确的:)

存储过程或在c#文件上编写查询

在我看来,这在很大程度上取决于你所处的环境。当你在代码文件(c#)中放入查询时,每修改一段代码,你都必须重新编译所有的程序,并一次又一次地发布它,这是一个非常耗时和精力消耗的过程,在这种情况下,你会遇到非常困难的情况,甚至可能导致项目失败。

作为新手,我强烈建议您将代码文件与业务规则和存储过程分开。

这通常是一个偏好问题。对于简单的查询(例如,从联系人中选择id,名称),我通常会将这些内联编写(使用dapper作为ORM),并且我很高兴以这种方式工作。

对于更复杂的查询,即多表连接与许多复杂的排序,过滤器等,我倾向于将代码放入SP并调用SP来获得结果(再次使用dapper)。

在c#中构建sql并使用它调用服务器与执行SP来做同样的事情没有太大的区别,在某些情况下SP方法可能有轻微的优势。

这通常取决于你的技能和对生产系统的访问权限。在较大的企业中,前端开发人员很少有能力在不经过严格的部署流程和DBA把关的情况下修改生产中的存储过程——这往往(无论好坏)会导致这些开发人员将更多的代码移到前端而不是数据库中。

另一方面,如果您对前端和后端有完全不受限制的访问权限,有时可以在生产环境中调整存储过程,而无需重新部署代码

真的没有正确的方法(或错误的方法)——这取决于很多事情。