【发布时间】:2008-11-08 05:45:55
【问题描述】:
我们对数据库的每个查询都使用存储过程。这似乎令人难以置信的un-DRY:
- 设计表格
- 为该表设计 CRUD 操作 SP
- 设计代码(最好是一个类)来填充参数并执行 CRUD SPs
如果我们添加单个列或更改数据类型,我们必须在 .NET 中编辑表、少数 SP 和少数函数。
有什么技巧可以减少这种重复?
更新:
结合Vinko的想法,我找到了this。这是我为需要它的人想出的一些代码(用 C# 编写):
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MySQLConnString"].ConnectionString);
SqlCommand comm = new SqlCommand("NameOfStoredProcedure", conn);
comm.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlCommandBuilder.DeriveParameters(comm);
conn.Close();
foreach (SqlParameter param in comm.Parameters)
{ /* do stuff */ }
【问题讨论】:
-
在为每个表创建 CRUD 存储过程之前,您可能会发现这是一个有趣的阅读:msdn.microsoft.com/en-us/library/ms978509.aspx
标签: .net stored-procedures dry