将表类型从c#传递给存储过程?

时间:2011-03-05 06:53:48

标签: c# .net sql sql-server

我已经使用SQL Server 2008一段时间了,但直到今天,才发现你可以创建一个表类型:

CREATE type MyNewTableType as table {

然后将其传递给proc。

但是,可以在.Net应用程序中使用此功能(C#是我的选择......)?是否可以在我的数据访问层中创建一些内容,然后将其作为参数传递给我的存储过程?

1 个答案:

答案 0 :(得分:4)

是的,它可以。请参阅MSDN reference中的配置SqlParameter示例部分,该部分将告诉您执行以下操作:

SqlParameter tvpParam = insertCommand.Parameters.AddWithValue(
    "@tvpNewCategories", addedCategories);
tvpParam.SqlDbType = SqlDbType.Structured;
tvpParam.TypeName = "dbo.CategoryTableType";

此后MSDN参考中的两个部分也可能有所帮助。