must declare the scalar variable '@custid' using dbcontext.Database.SqlQuery?

asp.net, c#, entity-framework, sql

Solution

Since you're using named parameters, you have to specify the matching name for the parameter you're passing.

var results = _MiscContext.Database.SqlQuery<int>(
    "exec sp_GetStaff @custid",
    new SqlParameter("custid", customerNumber)).ToList<int>();

Problem

I am trying to execute stored procedure from bcontext.Database.SqlQuery using EF5. It is throwing an error `must declare the scalar variable '@custid'` ``` var results = _MiscContext.Database.SqlQuery<int>( "exec sp_GetStaff @custid", customerNumber).ToList<int>(); ``` SP returns `1` if customerNumber is staff otherwise it return `empty` row. ``` ALTER PROCEDURE [dbo].[sp_GetStaff] @custid varchar(12) AS BEGIN SET NOCOUNT ON; SELECT 1 AS [C1] FROM [dbo].[Staff] with (nolock) WHERE [CUSTOMER_ID] = @custid END ``` How to manage this?

Original source

Related problems