私が現在取り組んでいるシステムは、すべてのデータアクセスにストアドプロシージャを使用しています。現在Dapperを調べていますが(これまでのところ見栄えが良いです)、テンプレートを使用して作成されたDynamicParametersオブジェクトを使用できるかどうか疑問に思いましたが、パラメーターの1つを出力パラメーターにします。例えば:
SP:
CREATE PROCEDURE InsertPerson
@ID int Output,
@Name varchar(100),
@DOB DateTime2
AS
--INSERT STATEMENT
SET @ID = SCOPE_IDENTITY()
POCO:
internal class Person
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime DOB { get; set; }
}
コード:
var procParams = new DynamicParameters(person);
connection.Execute("InsertPerson", procParams, commandType: CommandType.StoredProcedure);
// This is where i'm having the issue, can it be done?
person.ID = procParams.Get<int>("ID");
現在キーが見つからなかったため、エラーが発生しました。ストアドプロシージャパラメータをすべて手動で設定せずにID出力パラメータを取得する方法はありますか?