naw*_*fal 5 c# sql-server table-valued-parameters dapper
当必须使用 Dapper 将数据表作为 TVP 传递给 DB 时DataTable.AsTableValuedParameter,返回 a的方法有什么意义SqlMapper.ICustomQueryParameter?
我可以像普通数据表一样将 TVP 发送到 DB 并执行查询就好了。我不确定AsTableValuedParameter在它上面执行什么额外购买。
例如,这有效:
int rowsAffected = await conn.ExecuteAsync(
"MyProc",
new
{
myVar = (DataTable)GetThatDataTable(),
},
commandType: CommandType.StoredProcedure);
Run Code Online (Sandbox Code Playgroud)
另外,还有一个问题,方法中的typeName可选参数需要什么AsTableValuedParameter?没有它也能正常工作。
它在您的情况下工作正常,因为您正在使用存储过程;用户定义的类型需要来自某处,并且在存储过程的情况下:该某处可以是声明的参数类型。
然而,dapper 也适用于即席CommandText查询。在这种情况下,如果没有此调用:没有类型 name,并且调用将失败。对我来说重要的是功能CommandText也支持使用,因为这是一个非常常见的用例。
如果它对你来说没有问题:那就这样做!
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |