【发布时间】:2020-02-13 16:06:54
【问题描述】:
我使用 ASP.net Core 2.2 和 Entity Framework core 2.2.6 和 Pomelo.EntityFrameworkCore.MySql 2.2.0 来连接 MySQL,我有一个存储过程,它需要 3 个输入参数和 1 个输出参数。我可以在 MySQL 工作台中调用它,比如
CALL GetTechniciansByTrade('Automobile', 1, 10, @total);
select @total;
现在我想用实体框架核心来调用这个,我目前使用的代码是
var outputParameter = new MySqlParameter("@PageCount", MySqlDbType.Int32);
outputParameter.Direction = System.Data.ParameterDirection.Output;
var results = await _context.GetTechnicians.FromSql("Call GetTechniciansByTrade(@MyTrade, @PageIndex, @PageSize, @PageCount OUT)",
new MySqlParameter("@MyTrade", Trade),
new MySqlParameter("@PageIndex", PageIndex),
new MySqlParameter("@PageSize", PageSize),
outputParameter).ToListAsync();
int PageCount = (int)outputParameter.Value;
我目前遇到的异常是
CommandType 为 Text 时仅支持 ParameterDirection.Input(参数名称:@PageCount)
【问题讨论】:
标签: mysql stored-procedures entity-framework-core output-parameter input-parameters