Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架:执行命令时,参数必须是数据库参数或值_C#_Sql Server_Entity Framework_Stored Procedures - Fatal编程技术网

C# 实体框架:执行命令时,参数必须是数据库参数或值

C# 实体框架:执行命令时,参数必须是数据库参数或值,c#,sql-server,entity-framework,stored-procedures,C#,Sql Server,Entity Framework,Stored Procedures,这是什么:执行命令时,参数必须是数据库参数或值 这是我的代码: var result = new SqlParameter { ParameterName = "@Duplicate", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Output,

这是什么:执行命令时,参数必须是数据库参数或值

这是我的代码:

var result = new SqlParameter
                {
                    ParameterName = "@Duplicate",
                    SqlDbType = SqlDbType.Int,
                    Direction = ParameterDirection.Output,
                    Value = 0
                };

_uow.ExecuteStoredProcedure("exec MySpName @ids='{0}',@CityId={1},@Search='{2}',@Duplicate Output", ids, 1200, "la",result);
和我的存储过程:

ALTER PROCEDURE [dbo].[MySpName]    
    @Ids nvarchar(max),
    @CityId int,
    @Search nvarchar(max),
    @Duplicate INT OUTPUT
AS 
BEGIN
    SET NOCOUNT ON;
    SET @Duplicate = (SELECT COUNT(Id) 
                      FROM dbo.Companies
                      WHERE City IN (SELECT id 
                                     FROM [dbo].[SplitString](@Ids)) 
                        AND dbo.Companies.CityId = @CityId)

    RETURN @Duplicate
END

试着这样做:

var command = new SqlCommand
{
    Connection = sqlConnection,
    CommandType = CommandType.StoredProcedure,
    CommandText = "MySpName"
};
command.Parameters.AddWithValue("@CityId", 1200);
//Add rest of your parameters here