C'est ainsi que j'appelle une procédure stockée avec un paramètre de table. La principale différence étant que j'utilise un DataTable
paramètre.
Je me souviens d'avoir eu des problèmes avec les liaisons de noms de paramètres, mais je ne me souviens pas exactement de quoi ils s'agissait. Ceci explique le changement que j'ai fait dans la syntaxe de l'appel de procédure. Je sais que celui-ci devrait fonctionner.
var dataTable = new DataTable();
dataTable.TableName = "dbo.IntsTTV";
dataTable.Columns.Add("Id", typeof(int));
dataTable.Rows.Add(1); // Id of '1' is valid for the Person table
SqlParameter parameter = new SqlParameter("UserIds", SqlDbType.Structured);
parameter.TypeName = dataTable.TableName;
parameter.Value = dataTable;
var res = _db.Database.SqlQuery<string>("EXEC GetUsers @UserIds", parameter).ToList();