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

OutputValues ディクショナリではなく、outParam に値が含まれている必要があるように感じます。だから私の質問は: この特定のケースで OutParam から結果を取得するより良い方法はありますか?

4

1 に答える 1

3

残念ながら、outパラメータはすべてのCLR言語でサポートされているわけではないため、Simple.Dataで使用される動的バインディングインフラストラクチャではサポートされていません。

ただし、構文を改善するための提案は受け付けています。

于 2012-09-20T13:48:14.193 に答える