Ini adalah bagaimana saya memanggil prosedur tersimpan dengan parameter bernilai tabel. Perbedaan utamanya adalah saya menggunakan DataTable
parameter.
Saya ingat mengalami masalah dengan pengikatan nama parameter, tetapi saya tidak ingat persis apa itu. Ini menjelaskan perubahan yang saya buat dalam sintaks panggilan prosedur. Saya tahu yang ini seharusnya berhasil.
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();