sando o Dapper, como passo os valores para um tipo sql como para
Estou tentando usar dapper e passar para um procedimento armazenado uma lista de números inteiros que defini aqui usando DDL
CREATE TYPE [dbo].[BrandIDSet] AS TABLE ([BrandID] INT NULL);
Eu criei este procedimento armazenado:
CREATE PROCEDURE dbo.usp_getFilteredCatalogItems
@BrandIDSet [dbo].[BrandIDSet] READONLY
e tentar passar no código c # o valor desse parâmetro como
public async Task<PaginatedCatalogItemsVM> GetFilteredCatalogItems(int pageSize, int pageNumber, List<int> brandIDSet)
{
..
string storedProcName = "dbo.usp_getFilteredCatalogItems";
paginatedItemsVM.CatalogItemResults = await connection.QueryAsync<CatalogItemVM>(storedProcName, new { BrandIDSet = brandIDSet }, commandType: CommandType.StoredProcedure);
No entanto, o dapper não parece converter a lista conforme o esperado. Com o código acima, resulta no seguinte SQL sendo executado
exec dbo.usp_getFilteredCatalogItems @BrandIDSet1=1
O que não está certo, pois BrandIDSet1 não é o nome do parâmetro. Arg. Assim, resulta em
SqlException: @ BrandIDSet1 não é um parâmetro para o procedimento usp_getFilteredCatalogItems.
Como obtenho o tipo de conversão para o SQL apropriado?