испытания. Спасибо. upvoted

аюсь использовать dapper и передать в хранимую процедуру список целых чисел, которые я определил здесь, используя DDL

CREATE TYPE [dbo].[BrandIDSet] AS TABLE ([BrandID] INT NULL);

Я создал эту хранимую процедуру:

CREATE PROCEDURE dbo.usp_getFilteredCatalogItems 
    @BrandIDSet [dbo].[BrandIDSet] READONLY

и пытается передать в C # код значения этого параметра как

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);

Однако, похоже, что dapper не преобразует список должным образом. С приведенным выше кодом это приводит к выполнению следующего SQL

exec dbo.usp_getFilteredCatalogItems @BrandIDSet1=1

Что не так, поскольку BrandIDSet1 - это не имя параметра. Arg. Таким образом, это приводит к

SqlException: @ BrandIDSet1 не является параметром для процедуры usp_getFilteredCatalogItems.

Как мне получить тип для преобразования в правильный SQL?

Ответы на вопрос(1)

Ваш ответ на вопрос