これを SQL Server から実行すると、問題なく出力パラメーターを取得できます。
exec [dbo].[SelectByRecipient] @0, @1, @2, @TotalCount = @3 output
出力パラメーターは 18 を返します。しかし、PetaPoco からこれを行うと、出力パラメーターは null を返します。これらの組み合わせを試しました:
var total = new SqlParameter("TotalCount", System.Data.SqlDbType.Int);
total.Direction = System.Data.ParameterDirection.Output;
var results = ctx.Query<X>("exec [dbo].[SelectByRecipient] @0, @1, @2, @TotalCount = @3 output", var0, var1, var2, total);
//var results = ctx.Query<X>("exec [dbo].[SelectByRecipient] @0, @1, @2, @@TotalCount = @3 output", var0, var1, var2, total);
//var results = ctx.Query<X>("exec [dbo].[SelectByRecipient] @0, @1, @2, @3 output", var0, var1, var2, total);
//var results = ctx.Query<X>("exec [dbo].[SelectByRecipient] @0, @1, @2, @3 out", var0, var1, var2, total);
//Blows up because total.Value is null
var totalCount = (int)total.Value;
私が試した3つのステートメントは失敗します。それらは機能していましたが、何が変わったのかわかりません...突然、これらのエラーが発生しました...
理由はありますか?