Det enklaste alternativet är att skapa en DataTable
i C#-kod och skicka den som en parameter till din procedur. Förutsatt att du har skapat en användardefinierad tabelltyp som:
CREATE TYPE [dbo].[userdefinedtabletype] AS TABLE(
[ID] [varchar](255) NULL,
[Name] [varchar](255) NULL
)
sedan i din C#-kod skulle du göra:
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof (string));
dt.Columns.Add("Name", typeof (string));
//populate your Datatable
SqlParameter param = new SqlParameter("@userdefinedtabletypeparameter", SqlDbType.Structured)
{
TypeName = "dbo.userdefinedtabletype",
Value = dt
};
sqlComm.Parameters.Add(param);
Kom ihåg att ange SqlDbType.Structured
som typ av parameter och ange namnet du har använt för att skapa din UDT.