BLToolkit:无法在DataAccessor中使ScalarSource工作

时间:2014-10-09 12:04:55

标签: sql bltoolkit

我有这样的SP

CREATE PROCEDURE dbo.pPersonGetIDByName
@Name nvarchar(50),
@ID int output
AS ...

和适当的DataAccessor方法

[ScalarSource(ScalarSourceType.OutputParameter)]
abstract int GetIDByName(string Name);

我理解为'调用存储过程,传递Name参数并返回第一个输出参数作为结果'。但是这个电话

id = pa.GetIDByName("testname");

返回错误

  

过程或函数'pPersonGetIDByName'需要参数'@ID',这是未提供的。

据我所见(OutputParameterTest()),它应该没问题。 SQL Server调用是正确的:

declare @p2 int
set @p2=default
exec pPersonGetIDByName @Name=N'testname',@ID=@p2 output
select @p2

有什么问题?

1 个答案:

答案 0 :(得分:0)

您是否尝试过传递参数名称:

[ScalarSource(ScalarSourceType.OutputParameter, "ID")]
abstract int GetIDByName(string Name);