私は dapper を使用して、ストアド プロシージャからオブジェクト リストに結果セットを取得し、json としてクライアントに返します。
public IHttpActionResult Test()
{
List<ProductPreview> gridLines;
var cs = ConfigurationManager.ConnectionStrings["eordConnection"].ConnectionString;
using (SqlConnection conn = new SqlConnection(cs))
{
gridLines = conn.Query<ProductPreview>("dbo.myStoredProcedure", new { userID = 1 },
commandType: CommandType.StoredProcedure).ToList();
}
var totalCount = gridLines[0].MaxCount;//I need to know total count
....
return Ok(gridLines);
}
できます。タイプ ProductPreview のオブジェクトの最後のプロパティは TotalCount です。これは、ストアド プロシージャがすべての行の列として合計数を返すためです。(2番目のオプションは、ストアドプロシージャが2つのレコードセットを返すことですが、2つのレコードセットで動作するようにdapperを変更する方法がわかりません). 2 つの個別のクエリを使用することはできません。
(オーバーヘッドであるため) totalCount プロパティなしで gridLines json オブジェクトをクライアントに返し、ストアド プロシージャからいくつかの変数に合計カウントを読み取る最良の方法は何でしょうか? totalCount プロパティを使用せずに gridLines オブジェクトを他のオブジェクトにコピーすることも、不要なオーバーヘッドになります。