我必须调用存储过程,但将数据表(iEnumerable)作为参数传递。
我在 SQL 服务器上的 SP 将此参数设为:
@LIST_USERS dbo.LIST_USERINFO_TYPE READONLY
类型定义为:
CREATE TYPE [dbo].[LIST_USERINFO_TYPE] AS TABLE(
[ID_USER] [int] NOT NULL,
[ID_DATA] [int] NOT NULL,
[HEADER_TXT] [varchar](100) NULL)
然后,在调用方我以这种方式创建参数:
list.Add(new UserInfoItem { IdUser = 401, IdData = 3, HeaderTxt = "" });
list.Add(new UserInfoItem { IdUser= 402, IdData= 2, HeaderTxt= "gotcha" });
list.Add(new UserInfoItem { IdUser= 403, IdData= 1, HeaderTxt= "pacific rim" });
dbConn.StoredProcedure(sp,
new
{
LISTA_QUESTIONARIO = DomandeRisposteList
});
当我启动项目时,它实际上停止了KeyNotFoundException
尝试
name.DbType = OrmLiteConfig.DialectProvider.GetColumnDbType(propertyInfo.PropertyType);
在 ServiceStackExtension.cs
我怎样才能做到这一点?