испытания. Спасибо. 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?