【发布时间】:2013-12-21 15:10:18
【问题描述】:
我是新手,如有违反本站规则的地方请见谅。
我正在尝试寻找在代码中管理存储过程名称的最佳方法。
目前,当我调用存储过程时,我正在使用此代码:
public static DataSet GetKeyTables()
{
DataSet ds = new DataSet();
ds = SqlDBHelper.ExecuteMultiSelectCommand("Sp_Get_Key_Tables",
CommandType.StoredProcedure);
return ds;
}
但我不认为在代码中说明存储过程的名称是一个明智的想法,因为它很难跟踪。
我考虑过 Enum 或 app.config 解决方案,但我不确定这些是最好的方法。
任何想法都将受到高度赞赏。
【问题讨论】:
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀! -
“但我不认为在代码中说明存储过程的名称是一个明智的想法,因为它很难跟踪。” - 我从来没有遇到过这样的困难。如果你从多个地方调用同一个 SP,你可能会犯不同的错误。在其他新闻中:除非您绝对别无选择,否则我也不建议使用 SP。与直接(但参数化)的 sql 相比,它们几乎没有给你买任何东西。
标签: c# .net stored-procedures ado.net