How to pass User Defined Table Type as Stored Procedured parameter in C#
You need to see this example on CodeProject.
SqlParameter param = cmd.Parameters.AddWithValue("@FileDetails", dt);
where dt is a DataTable, and the @fileDetails parameter is a table type in SQL:
create type FileDetailsType as table
(
FileName varchar(50),
CreatedDate varchar(50),
Size decimal(18,0)
)
Edit: This MSDN Developer's Guide article also would help.
The easiest way is by passing a DataTable
as the parameter. Check out some examples here.
In my case, I need to specify the data type explicitly
SqlParameter param = sqlCommand.Parameters.AddWithValue("@something", dtSomething); // dtSomething is a DataTable
param.SqlDbType = SqlDbType.Structured;
param.TypeName = "dbo.type_something"; // The name of the User-Defined Table Type