[英]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.