Когда я передаю пользовательское значение типа таблицы, тип меняется на неизвестный.
Ниже приведены параметры, которые я передаю,
var depts = new SqlParameter("@DepartmentFilter", SqlDbType.Structured);
depts.SqlValue = deptTable;
depts.TypeName = "dbo.DepartmentFilter";
depts.Direction = ParameterDirection.Input;
var prices = new SqlParameter("@PriceFilter", SqlDbType.Structured);
prices.SqlValue = priceTable;
prices.TypeName = "dbo.PriceFilter";
prices.Direction = ParameterDirection.Input;
var colours = new SqlParameter("@ColourFilter", SqlDbType.Structured);
colours.SqlValue = colourTable;
colours.TypeName = "dbo.ColourFilter";
colours.Direction = ParameterDirection.Input;
var sizes = new SqlParameter("@SizeFilter", SqlDbType.Structured);
sizes.SqlValue = sizeTable;
sizes.TypeName = "dbo.SizeFilter";
sizes.Direction = ParameterDirection.Input;
и результат в SQL Server profiler
declare @p4 unknown
declare @p5 unknown
declare @p6 unknown
declare @p7 unknown
declare @p8 unknown
Типы в базе данных
Вызов
var items = context.GetSkuItems.FromSqlRaw("EXECUTE [dbo].[GetSkuItems] @SearchString,@DepartmentFilter,@PriceFilter,@ColourFilter,@SizeFilter,@colsort,@PageIndex,@PageSize, @RecordCount OUT",
searchString, depts, prices, colours, sizesFilter, sortOrder, pageIndex, pageSize, recordCount).ToList();
Как решить эту проблему?
Спасибо заранее