【问题标题】:BLToolkit: Can't make ScalarSource in DataAccessor workBLToolkit:无法使 DataAccessor 中的 ScalarSource 工作
【发布时间】:2015-01-07 06:23:12
【问题描述】:

我有这样的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

怎么了?

【问题讨论】:

    标签: sql bltoolkit


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 2014-04-03
      • 2011-07-14
      • 2013-12-25
      • 2011-10-29
      相关资源
      最近更新 更多