Questo è il modo in cui chiamo la procedura memorizzata con il parametro con valore di tabella. La differenza principale è che utilizzo una DataTable
parametro.
Ricordo di aver avuto problemi con le associazioni dei nomi dei parametri, ma non ricordo esattamente cosa fossero. Questo spiega la modifica che ho apportato alla sintassi della chiamata di procedura. So che questo dovrebbe funzionare.
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();