Dette er, hvordan jeg kalder lagret procedure med tabel værdisat parameter. Den største forskel er, at jeg bruger en DataTable
parameter.
Jeg kan huske, at jeg havde problemer med parameternavnebindinger, men jeg kan ikke huske præcis, hvad de var. Dette forklarer den ændring, jeg lavede i syntaksen for procedurekaldet. Jeg ved, at denne burde virke.
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();