我有一个生成的 SQL 查询块,它将表值参数作为输入。
我有一个DataTable data
输入参数,然后:
// add the table-value parameter
var tvp = com.Parameters.AddWithValue("data", data);
tvp.SqlDbType = SqlDbType.Structured;
tvp.TypeName = "???";
com.ExecuteNonQuery();
问题是,如果命令不是存储过程,则TypeName
需要声明。
参数中列的数量和类型data
可能会有很大差异,所以我没有可以使用的 SQL 类型。
有什么方法可以让我以这种方式使用 TVP?