Установить выходное значение в dapper при использовании объекта вместо динамических параметров - PullRequest
0 голосов
/ 22 февраля 2019

Я пишу SqlHelper как SOC для добавления, поиска и обновления любого заданного объекта, используя один класс, для той же самой написанной мной функции в ядре asp.net 2.0, например:

public async Task<int> Add(DynamicParameters parameters, string SPName)
        {  
            using (MySqlConnection con = new MySqlConnection(connString))
            { 
                using (MySqlCommand cmd = new MySqlCommand(SPName, con))
                {
                    parameters.Add("_ReturnValue", dbType: DbType.Int32, direction: ParameterDirection.Output);
                    await con.ExecuteAsync(SPName, parameters, commandType: CommandType.StoredProcedure);
                    return parameters.Get<int>("_ReturnValue"); 
                }
            } 
        }

Но в этом подходеЯ должен добавлять параметры к динамическим параметрам каждый раз так:

var parameters = new DynamicParameters();
            parameters.Add("_Salutation",lead.Salutation);
            parameters.Add("_LeadStatus",lead.LeadStatus);
            parameters.Add( "_FirstName",lead.FirstName);
            parameters.Add("_LastName",lead.LastName);
            parameters.Add("_Email",lead.Email);
            parameters.Add("_PhoneNo",lead.PhoneNo);
SqlHelper sql = new SqlHelper();
            var res = await sql.Add(parameters,"AddLead");

Чтобы упростить, я изменил метод Sqlhelper, и теперь подход такой:

public async Task<int> AddbyObj(object parameters, string SPName)
        {  
            using (MySqlConnection con = new MySqlConnection(connString))
            { 
                using (MySqlCommand cmd = new MySqlCommand(SPName, con))
                {
                    var res =  await con.ExecuteAsync(SPName, parameters, commandType: CommandType.StoredProcedure);
                    return res;
                }
            } 
        } 

Здесь через секундуМетод, я ищу, чтобы добавить выходной параметр.С этим подходом все в порядке, но теперь я понятия не имею, как мне добавить параметр выходного значения?

...