In SQL Server 2008, è possibile definire un tipo di tabella e utilizzarlo come parametri Stored Procedures. Ma come posso usarlo in C# invocazione di questo SP? In altre parole, come creare una tabella o un elenco e trasferirlo in Stored Procedure in C# con questa nuova funzionalità di SQL Server 2008?Come passare il tipo di tabella definito dall'utente come parametro Stored Procedured in C#
risposta
È necessario vedere questo example on CodeProject.
SqlParameter param = cmd.Parameters.AddWithValue("@FileDetails", dt);
dove dt è un DataTable, e il parametro @fileDetails è un tipo di tabella in SQL:
create type FileDetailsType as table
(
FileName varchar(50),
CreatedDate varchar(50),
Size decimal(18,0)
)
Edit: This MSDN Developer's Guide article sarebbe anche aiutare.
Il modo più semplice è passare un parametro DataTable
come parametro. Guarda alcuni esempi here.
Da Table-Valued Parameters, legata al Jeff Meatball Yang's answer:
System.Data.SqlClient supporta popolando i parametri con valori di tabella da DataTable, DbDataReader o System.Collections.Generic.IEnumerable ([T: System.Collections.Generic .IEnumerable`1)] oggetti. È necessario specificare un nome di tipo per il parametro con valori di tabella utilizzando la proprietà TypeName di SqlParameter. TypeName deve corrispondere al nome di un tipo compatibile precedentemente creato sul server. Il seguente frammento di codice mostra come configurare SqlParameter per inserire dati.