我已经创建了一个存储过程,它接受一个表值参数,该参数是一个只有一列的int
类型的表。其思想是简单地将is列表传递到存储过程中,并允许存储过程处理数据。然而,在没有数据要传递的情况下,我遇到了问题(当我有数据时,事情就会正常工作)。我正在将List<int>
转换为IEnumerable<SqlDataRecord>
,并将其绑定到存储过程的表值参数。我试图绑定一个空的List<SqlDataRecord>
,这导致了这个错误:
System.ArgumentException: SqlDataRecord枚举中没有记录。若要发送不带行的表值参数,请对该值使用null引用。
然后,我尝试绑定一个空值(我认为这就是上面的消息所指的),但这只会导致不同的错误消息
System.NotSupportedException:不支持参数'@MainItemIdList‘的DBNull值。表值参数不能为DBNull。
似乎不能在存储过程声明中将表值参数声明为可空。将空列表绑定到表值参数的正确方法是什么?
https://stackoverflow.com/questions/3630632
复制相似问题