[英]Error executing stored procedure with FromSqlInterpolated in ASP.NET Core 6 with EF Core 6
我在我的 SQL 服务器中有这个带有单个参数并返回单个记录的存储过程。
当我这样称呼它时:
public async Task<EmpleadoDTO> GetEmpleado(string codigoSAP)
{
var empleado = await _context.Empleados
.FromSqlInterpolated($"GetEmpleadoByCodigoSAP {codigoSAP}")
.FirstOrDefaultAsync();
return EmpleadoToDTO(empleado);
}
我收到这个错误
System.InvalidOperationException:“FromSqlRaw”或“FromSqlInterpolated”是使用不可组合的 SQL 调用的,并在其上组合了一个查询。 考虑在客户端执行组合的方法之后调用“AsEnumerable”。
但是如果我直接执行SQL:
var empleado = await _context.Empleados
.FromSqlInterpolated($"select empID as EmpleadoId,firstName as Nombre,middleName as Apellido1,lastName as Apellido2,Email as Email,U_CODEMPL as CodigoSAP,U_Activo as Activo,U_Sociedad as Sociedad from OHEM where U_CODEMPL={codigoSAP}")
.FirstOrDefaultAsync();
它工作正常。
有什么想法吗?
谢谢
从 EF Core 3.1 开始, FromSqlRaw
/ FromSqlInterpolated
方法在与存储过程一起使用时无法组合,因此您应该使用AsEnumerable
/ AsAsyncEnumerable
。
参考微软文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.