2011-03-05 89 views
2

我一直在使用SQL Server 2008有一段時間了,但只有今天,發現你可以創建一個表類型:將表類型傳遞給來自c#的存儲過程?

CREATE type MyNewTableType as table { 

然後將它傳遞給PROC。

但是,這個功能是否可以在.Net應用程序中使用(C#是我的選擇......)?是否可以在我的數據訪問層中創建一些內容,然後將其作爲參數傳遞給我的存儲過程?

+0

請嘗試通過將該表聲明爲表變量或Xml類型來傳遞該表。你會發現這將起作用。 – CarneyCode 2011-03-05 07:06:01

回答

4

是的,它可以。看到MSDN reference配置的SqlParameter實例部分它會告訴你做類似如下:

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

在MSDN參考這兩個部分以下,這也可能會有所幫助。

+0

「addedCategories」的類型是DataTable,對吧? – Fabio 2013-05-16 13:44:15

+1

@FabioGouw根據最新的MSDN記錄,它可以是DataTable,DbDataReader或IEnumerable nybbler 2013-05-16 14:28:04

相關問題