我将SqlHelper编写为SOC,以便使用单个类添加,搜索和更新任何给定的对象,对于我在asp.net core 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;
}
}
}
在第二种方法中,我希望添加输出参数。 用这种方法一切都很好,但是现在我不知道如何添加输出值参数了。