Anda dapat memanfaatkan fakta bahwa SQL Server 2008 sekarang mendukung tipe tabel. Anda dapat menentukan tipe tabel dan di sisi .net buat DataTable
dan berikan itu sebagai parameter ke prosedur tersimpan Anda. Di sisi SP parameter itu bertipe [tipe tabel apa pun yang Anda buat] Berikut ini contohnya.
TotalPositions = [Some List] //of CSV List
DataTable Positions = new DataTable(); //Create the Datatype
Positions.Columns.Add("PositionID", typeof(int)); //
foreach (string sPos in TotalPositions.Split(','))
Positions.Rows.Add(int.Parse(sPos));
Anda kemudian dapat Menambahkan Posisi sebagai parameter untuk prosedur tersimpan Anda
SqlParameter Param = new SqlParameter();
Param.Value = Positions
Param.SqlDbType = SqlDbType.Structured;
Param.ParameterName = @Positions
command.Parameters.Add(Param);
Dalam database Anda, Anda harus mendefinisikan tipe tabel sebagai
CREATE TYPE [dbo].[Positions] AS TABLE(
[Position] int NULL,
)
GO
dan dalam prosedur tersimpan Anda tambahkan
@MyPositions Positions Readonly
Sekarang Anda dapat merawat @MyPositions
sebagai tabel dalam prosedur Anda dan bandingkan dengan itu.