我一直在使用SQL Server 2008有一段时间了,但只有今天,发现你可以创建一个表类型:将表类型传递给来自c#的存储过程?
CREATE type MyNewTableType as table {
然后将它传递给PROC。
但是,这个功能是否可以在.Net应用程序中使用(C#是我的选择......)?是否可以在我的数据访问层中创建一些内容,然后将其作为参数传递给我的存储过程?
我一直在使用SQL Server 2008有一段时间了,但只有今天,发现你可以创建一个表类型:将表类型传递给来自c#的存储过程?
CREATE type MyNewTableType as table {
然后将它传递给PROC。
但是,这个功能是否可以在.Net应用程序中使用(C#是我的选择......)?是否可以在我的数据访问层中创建一些内容,然后将其作为参数传递给我的存储过程?
是的,它可以。看到MSDN reference配置的SqlParameter实例部分它会告诉你做类似如下:
SqlParameter tvpParam = insertCommand.Parameters.AddWithValue(
"@tvpNewCategories", addedCategories);
tvpParam.SqlDbType = SqlDbType.Structured;
tvpParam.TypeName = "dbo.CategoryTableType";
在MSDN参考这两个部分以下,这也可能会有所帮助。
请尝试通过将该表声明为表变量或Xml类型来传递该表。你会发现这将起作用。 – CarneyCode 2011-03-05 07:06:01