User Defined Table Types - lobodava/artisan-orm GitHub Wiki
A user-defined table type is an MS SQL Server object that is used for sending data to a stored procedure as table-valued parameters.
For example:
-- TSQL
create type dbo.UserTableType as table
(
Id int not null primary key clustered,
[Login] varchar(20) not null ,
Name nvarchar(50) not null ,
Email varchar(50) not null
);
A variable of the user-defined table type can be passed to a stored procedure as a parameter.
-- TSQL
create procedure dbo.SaveUsers
@Users dbo.UserTableType readonly
as
begin
...
end
ADO.NET can create a variable of the user-defined table type taking a DataTable
as SqlDbType.Structured
parameter within SqlCommand
configuration.
In Artisan.Orm it looks like:
// C#
public void Save(IList<User> users)
{
ExecuteCommand(cmd =>
{
cmd.UseProcedure("dbo.SaveUsers");
cmd.AddTableParam("@Users", users);
});
}
See also: