Đây là cách tôi gọi thủ tục được lưu trữ với tham số có giá trị bảng. Sự khác biệt chính là tôi sử dụng DataTable
tham số.
Tôi nhớ đã gặp vấn đề với các ràng buộc tên tham số, nhưng tôi không nhớ chính xác chúng là gì. Điều này giải thích sự thay đổi tôi đã thực hiện trong cú pháp của lệnh gọi thủ tục. Tôi biết cái này sẽ hoạt động.
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();