vrijdag 19 april 2019

using table valued parameters from .net core

1. create user defined table type in sql

create type typename  as Table(
 column1 varchar(10) not null,
column2 varchar(20) not null,
primary key clustered
([column1] asc)
with (ignore_dup_key)
)
go


2. use table type as parameter in stored proc

create proc x (
    @tabletype typename  READONLY
)
as
begin
....
end

3. map your object list to a sqlclient DataTable type.

DataTable x = Mapper.Map(datalist);

4. create parameter in .net

var param = new SqlParameter(name, SqlDbType.Structured);
param.TypeName = "typename"
param.Value = DataTable;

5 call the stored proc from the dbcontext

_context.Database.ExecuteSqlCommand("exec sqlprocname @param", param);

see also:

Geen opmerkingen:

Een reactie posten