I came across something similar, but with a return statement. The trick I found was to use a DynamicParameters object. On your system, insert statements must call NextVal in the sequence; it is not in the trigger.
var param = new DynamicParameters(); param.Add(name: "Cli", value: model.Cli, direction: ParameterDirection.Input); param.Add(name: "PlayerAnswer", value: model.PlayerAnswer, direction: ParameterDirection.Input); param.Add(name: "InsertDate", value: model.InsertDate, direction: ParameterDirection.Input); param.Add(name: "Id", dbType: DbType.Int32, direction: ParameterDirection.Output); using (IDbConnection ctx = DbConnectionProvider.Instance.Connection) { ctx.Execute("INSERT INTO PLAYER_LOG (CLI, ANSWER, INSERT_DATE) VALUES (:Cli, :PlayerAnswer, :InsertDate) returning Id into :Id", paramList); } var Id = param.get<int>("Id");
source share