1

使用 Simple.Data,我想从存储过程中的输出参数中获取结果。假设我有以下 SP(忽略它的无用性):

CREATE PROCEDURE [dbo].[TestProc]
    @InParam int,
    @OutParam int OUTPUT
AS
BEGIN
    SELECT @OutParam = @InParam * 10
END

当我用 Simple.Data 调用它时,我使用以下代码。

var db = Database.Open();

int outParam;
var result = db.TestProc(42, out outParam);

Console.WriteLine(outParam); // <-- == 0
Console.WriteLine(result.OutputValues["OutParam"]); // <-- == 420

感觉 outParam 应该包含值,而不是 OutputValues 字典。所以我的问题是:在这种特殊情况下,有没有更好的方法从 OutParam 获得结果?

4

1 回答 1

3

不幸的是,outSimple.Data 使用的动态绑定基础结构不支持参数,因为并非所有 CLR 语言都支持这些参数。

不过,我愿意接受有关更好语法的建议。

于 2012-09-20T13:48:14.193 回答