到目前为止,我习惯使用ADO.NET代码通过使用值映射存储过程参数,使用存储过程将数据插入到sql数据库/表中。但是是否有任何通用代码可以从提供的存储过程名称中获取参数及其数据类型,将值分配给我们将提供的参数并相应地直接插入表中。有什么建议。
答案 0 :(得分:2)
我创建了一个库(Generic Database Access),它可以完全按照您的描述进行操作。您可以使用库本身,也可以只提取所需的代码。但简而言之,我的解决方案可以为您提供参数名称,为参数赋值,并执行您需要提供其名称的存储过程。
如何使用存储过程执行此类Insert命令的示例,该存储过程接受单个varchar参数并将其插入表中,如下所示:
new NonQuery<Student>(new Student() { Name = "Jimmy" });
请确保在帮助应用程序的Builder TextBox中键入“System.Data.SqlClient.SqlCommandBuilder”,或使用以下XML设置以告知库从存储过程派生参数。
<Property>
<Name>Builder</Name>
<Assembly>System.Data.dll</Assembly>
<Type>System.Data.SqlClient.SqlCommandBuilder</Type>
</Property>