首页 > 解决方案 > EntityFramework 调用 scaler 函数抛出 必须声明标量变量

问题描述

我有countAbsence作为employeeID输入的缩放功能

我称之为如下

int count = db.Database.SqlQuery<int>("SELECT [dbo].[countAbsence](@employeeID)", employeeID).FirstOrDefault();

但我得到以下异常

System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable \"@employeeID\".\r\n

标签: c#entity-frameworklinqwebapi

解决方案


您应该使用 指定参数 SqlParameter

int count = db.Database
              .SqlQuery<int>("SELECT [dbo].[countAbsence](@employeeID)", new SqlParameter("@employeeID", employeeID))
              .FirstOrDefault();

推荐阅读