Takto volám uloženou proceduru s parametrem s hodnotou tabulky. Hlavní rozdíl je v tom, že používám DataTable
parametr.
Pamatuji si, že jsem měl problémy s vazbami názvů parametrů, ale přesně si nepamatuji, jaké to byly. To vysvětluje změnu, kterou jsem provedl v syntaxi volání procedury. Vím, že tohle by mělo fungovat.
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();