在C#代码中管理存储过程的最佳实践是什么?

Rot*_*ach 8 .net c# ado.net stored-procedures

我在这里很新,所以如果我偏离了本网站的规则,请原谅我.

我正在尝试找到最好的方法来管理代码中存储过程的名称.

目前,当我调用存储过程时,我正在使用此代码:

public static DataSet GetKeyTables()
{
    DataSet ds = new DataSet();
    ds = SqlDBHelper.ExecuteMultiSelectCommand("Sp_Get_Key_Tables", 
        CommandType.StoredProcedure);
    return ds;
}
Run Code Online (Sandbox Code Playgroud)

但我不认为在代码中声明存储过程的名称是一个明智的想法,因为它很难跟踪.

我想过Enum或app.config解决方案,但我不确定这些是最好的方法.

任何想法都将受到高度赞赏.

Pri*_*ank 7

您可以拥有一个具有SP的名称的常量属性的类.并且在单独的类库(dll)中具有此类.将sp_作为程序的开始也不好看到链接http://msdn.microsoft.com/en-us/library/dd172115(v=vs.100).aspx

public class StoredProcedures
{
    public const string GetKeyTables = "Sp_Get_Key_Tables";
}
Run Code Online (Sandbox Code Playgroud)


Tho*_*ler 6

最后,无论你做什么,它总是归结为SP的具体名称字符串.您必须手动保持它们同步. - 没办法......

您可以使用配置文件,但只有在名称经常更改或者需要在编译后保持可更改时才需要付出额外的工作量.