[英]I need return value from dapper execute insert
BKG_AOR_CHANGE_SK is populated from a database trigger when the row is inserted. BKG_AOR_CHANGE_SK 在插入行时从数据库触发器填充。 I need to retrieve this value as part of my insert.我需要检索这个值作为我插入的一部分。 How would I go about doing that?我该怎么做? I have tried this in order to get it as an output parameter, but it is doesn't return the value.我已经尝试过将其作为输出参数,但它没有返回值。
public BKG_AOR_CHANGE BKG_AOR_CHANGE_Create(BKG_AOR_CHANGE dto)
{
try
{
var parameters = new DynamicParameters();
parameters.Add(name: "MEMBER_ORIG_EFF_DT", value: dto.MEMBER_ORIG_EFF_DT, direction: ParameterDirection.Input);
parameters.Add(name: "MEMBER_ID", value: dto.MEMBER_ID, direction: ParameterDirection.Input);
parameters.Add(name: "MEMBER_NAME", value: dto.MEMBER_NAME, direction: ParameterDirection.Input);
parameters.Add(name: "CUSTOMER_TYPE", value: dto.CUSTOMER_TYPE, direction: ParameterDirection.Input);
parameters.Add(name: "CURR_AGENT_ID", value: dto.CURR_AGENT_ID, direction: ParameterDirection.Input);
parameters.Add(name: "CURR_AGENT_NAME", value: dto.CURR_AGENT_NAME, direction: ParameterDirection.Input);
parameters.Add(name: "CURR_AGENCY_ID", value: dto.CURR_AGENCY_ID, direction: ParameterDirection.Input);
parameters.Add(name: "BKG_AOR_CHANGE_SK", direction: ParameterDirection.Output, size: 31);
var sql = @"INSERT
INTO DS_BROKERAGE.BKG_AOR_CHANGE
(
MEMBER_ORIG_EFF_DT,
MEMBER_ID,
MEMBER_NAME,
CUSTOMER_TYPE,
CURR_AGENT_ID,
CURR_AGENT_NAME,
CURR_AGENCY_ID,
)
VALUES
(
:MEMBER_ORIG_EFF_DT,
:MEMBER_ID,
:MEMBER_NAME,
:CUSTOMER_TYPE,
:CURR_AGENT_ID,
:CURR_AGENT_NAME,
:CURR_AGENCY_ID,
)";
this._db.Execute(sql, parameters);
dto.BKG_AOR_CHANGE_SK = parameters.Get<int>("BKG_AOR_CHANGE_SK");
return dto;
}
catch (Exception e)
{
throw e;
}
}
Ahh, looks like I was just missing the returning statement啊,看来我只是错过了返回声明
public BKG_AOR_CHANGE BKG_AOR_CHANGE_Create(BKG_AOR_CHANGE dto)
{
try
{
var parameters = new DynamicParameters();
parameters.Add(name: "MEMBER_ORIG_EFF_DT", value: dto.MEMBER_ORIG_EFF_DT, direction: ParameterDirection.Input);
parameters.Add(name: "MEMBER_ID", value: dto.MEMBER_ID, direction: ParameterDirection.Input);
parameters.Add(name: "MEMBER_NAME", value: dto.MEMBER_NAME, direction: ParameterDirection.Input);
parameters.Add(name: "CUSTOMER_TYPE", value: dto.CUSTOMER_TYPE, direction: ParameterDirection.Input);
parameters.Add(name: "CURR_AGENT_ID", value: dto.CURR_AGENT_ID, direction: ParameterDirection.Input);
parameters.Add(name: "CURR_AGENT_NAME", value: dto.CURR_AGENT_NAME, direction: ParameterDirection.Input);
parameters.Add(name: "CURR_AGENCY_ID", value: dto.CURR_AGENCY_ID, direction: ParameterDirection.Input);
parameters.Add(name: "BKG_AOR_CHANGE_SK", direction: ParameterDirection.Output, size: 31);
var sql = @"INSERT
INTO DS_BROKERAGE.BKG_AOR_CHANGE
(
MEMBER_ORIG_EFF_DT,
MEMBER_ID,
MEMBER_NAME,
CUSTOMER_TYPE,
CURR_AGENT_ID,
CURR_AGENT_NAME,
CURR_AGENCY_ID,
)
VALUES
(
:MEMBER_ORIG_EFF_DT,
:MEMBER_ID,
:MEMBER_NAME,
:CUSTOMER_TYPE,
:CURR_AGENT_ID,
:CURR_AGENT_NAME,
:CURR_AGENCY_ID,
)
RETURNING BKG_AOR_CHANGE_SK INTO :BKG_AOR_CHANGE_SK";
this._db.Execute(sql, parameters);
dto.BKG_AOR_CHANGE_SK = parameters.Get<int>("BKG_AOR_CHANGE_SK");
return dto;
}
catch (Exception e)
{
throw e;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.