Qu'est-ce que je fais mal? Essayer de transmettre mon fichier DataTable à un processus stocké à l'aide de LINQ. Voici mon code.ASP.NET appelant proc stockée avec LINQ et passant dans DataTable
var sqlCommand = new System.Data.SqlClient.SqlCommand { CommandType = System.Data.CommandType.StoredProcedure, CommandText = "UserIdList" }; var dataTable = new System.Data.DataTable("IdList"); dataTable.Columns.Add("AttributeIds", typeof(Int32)); dataTable.Rows.Add(26); dataTable.Rows.Add(40); dataTable.Rows.Add(41); dataTable.Rows.Add(45); dataTable.Rows.Add(78); dataTable.Rows.Add(33); dataTable.Rows.Add(36); //The parameter for the SP must be of SqlDbType.Structured var parameter = new System.Data.SqlClient.SqlParameter { ParameterName = "@AttributeIds", SqlDbType = System.Data.SqlDbType.Structured, TypeName = "ecs.IDList", Value = dataTable, }; sqlCommand.Parameters.Add(parameter); var user = myDC.DC.ExecuteQuery("exec ecs.udpUserAttributeDetails {0}, {1}", sqlCommand, userId).SingleOrDefault();
Et l'erreur que vous obtenez est ?? – InSane
@InSane - Le message d'erreur est: Un paramètre de requête ne peut pas être de type 'System.Data.SqlClient.SqlCommand'. – Mark
Quel est le type de données de l'objet 'myDC.DC'? – InSane