Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 使用DbContext将参数传递给存储过程_C#_Entity Framework_Stored Procedures - Fatal编程技术网

C# 使用DbContext将参数传递给存储过程

C# 使用DbContext将参数传递给存储过程,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我有一个接受一个字符串参数的存储过程,下面是我的代码 var databaseContext = (DbContext)this.ManagementContext; databaseContext.Database.Connection.Open(); using (var command = databaseContext.Database.Connection.CreateCommand()) { command.CommandText = "StoredProcName"; comman

我有一个接受一个字符串参数的存储过程,下面是我的代码

var databaseContext = (DbContext)this.ManagementContext;
databaseContext.Database.Connection.Open();
using (var command = databaseContext.Database.Connection.CreateCommand())
{
command.CommandText = "StoredProcName";
command.CommandType = CommandType.StoredProcedure;
DbParameter param = command.CreateParameter();
param.DbType = DbType.String;
param.Direction = ParameterDirection.Input;
param.Value = "Vikash";
command.Parameters.Add(param);
using (var reader = command.ExecuteReader())

我的存储过程没有在参数中获取值。

如果您的存储过程名为“StoredProcName”,则使用名为“Para1”的参数执行


然后,您将在“executedResult”中获得存储过程结果。

您的代码中缺少了参数名。试试这个

        using (var ctx = new StOflowContext())
        {
            ctx.Database.Connection.Open();
            using (var command = ctx.Database.Connection.CreateCommand())
            {
                command.CommandText = "StoredProcedureName";
                command.CommandType = CommandType.StoredProcedure;

                DbParameter param = command.CreateParameter();
                param.ParameterName = "@paramName";
                param.DbType = DbType.String;
                param.Direction = ParameterDirection.Input;
                param.Value = "Vikash";

                command.Parameters.Add(param);
                using (var reader = command.ExecuteReader())

                { 
                    while(reader.Read())
                    {
                    }
                }
            }
        }

我试过这种方法,效果很好

var dateParameter = new SqlParameter { ParameterName = "CastID", Value = castMember, DbType = DbType.String, Direction = ParameterDirection.Input };
                    command.Parameters.Add(dateParameter);    

你没有给参数起名字。这对你没什么帮助,你能在这里举个小例子吗。这个例子对你合适吗?
var dateParameter = new SqlParameter { ParameterName = "CastID", Value = castMember, DbType = DbType.String, Direction = ParameterDirection.Input };
                    command.Parameters.Add(dateParameter);