.net - 避免硬编码 SQL 语句的最佳策略是什么

标签 .net

前几天,我向一位同事展示了我正在编写的一些代码,顺便说一句,他评论说我对 SQL 语句进行了硬编码。现在这些 SQL 语句是非常静态的,而那些确实会改变的 SQL 语句我将它们变成了数据库的 View ,并且有一个硬编码的“从 View 中选择列”之类的事情。

所以我的问题是在这些情况下最佳做法是什么?

是不是将SQL语句作为资源添加到项目中,然后在代码中调用该资源?有更好的方法吗?

编辑:在这种情况下,我使用 .Net2.0 与 SQL Server 2005 和 Oracle 数据库进行交互

最佳答案

  1. 存储过程。防止各种可能的注入(inject)、维护问题。将数据库代码放在数据库代码所属的位置。

  2. ORM 工具(如 Hibernate、Subsonic 等)意味着您从一开始就看不到一行 T-SQL。学习曲线更陡峭,但越早开始越好。

关于.net - 避免硬编码 SQL 语句的最佳策略是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/655005/

相关文章:

c# - 处理音频 "on-fly"(C#, WP7)

c# - StructureMap 开放通用类型

c# - 如果字符串参数以文件扩展名结尾,则请求 session 对象为空

c# - Resharper 中的警告 "Return value of pure method is not used"

.net - 是否有 .NET 库或 API 来与/编辑 IIS 元数据库进行交互?

.net - Entity Framework 不在数据库中保存数据条目

c# - .NET 的 future 版本是否支持 C# 中的元组?

asp.net - 找不到不变名称 'System.Data.SqlClient;' 的 ADO.NET 提供程序( Entity Framework MVC)

c# - 排除以特定字符开头的正则表达式匹配

.net - 工具条 (ToolStripDropDownButton) 关闭并失去窗口焦点