Вы можете использовать пользовательский тип таблицы. Примерно так:
CREATE TYPE [dbo].[ttUsers] AS TABLE(
[id] [int] NOT NULL,
[name] varchar(200) NOT NULL,
[email] varchar(200) NOT NULL
)
GO
CREATE PROCEDURE dbo.InsertUsers(@Users [dbo].[ttDocumentFacilities] READONLY)
AS
BEGIN
INSERT Users (id, name, email)
SELECT id, name, email
FROM @Users;
END
var dataTable = new DataTable();
dataTable.Columns.Add("id");
dataTable.Columns.Add("name");
dataTable.Columns.Add("email");
var users = new SqlParameter("@Users", SqlDbType.Structured)
{
Value = PopulateTableRows(ids, dataTable),
TypeName = "dbo.[ttUsers]"
};
Примечание. Я не реализовал все методы, но должен дать вам представление о том, как это сделать