Hi,
I’m out of ideas for how to execute a stored procedure via ServiceStack.OrmLite and pass in a table valued parameter in our .net core service.
I can use SqlMapper’s QueryMultiple but was trying to use SqlList(). Is there a way to do this with SqlList instead?
var accessibleSystemIdsDataTable = userAccess.Systems.Map(s => s.SystemId).ToListIntDataTable();
var accessibleSystemIds = accessibleSystemIdsDataTable.AsTableValuedParameter("ListInts");
var clientContactParameters = new DynamicParameters(new
{
ClientId = clientDto.Id,
clientDto.SystemId,
AccessibleSystemIds = accessibleSystemIds
});
using (var multiResultSet = Db.QueryMultiple("schema.sp_name", clientContactParameters, commandType: CommandType.StoredProcedure))
{
var contacts = multiResultSet.Read<Fusion.ServiceModel.Database.Core.Composite.Contact>().ToList();
var contactDtos = contacts.ConvertAll(c => c.ToDto());
clientDto.Contacts = contactDtos;
}