EF框架下调用 调用Oracle 存储过程

来源:互联网 发布:打开算法之门 pdf 编辑:程序博客网 时间:2024/06/05 19:06
public object ExecuteByProc(string procName, params DbParameter[] dbParameter)        {                    //OracleParameter[] Oparms = new OracleParameter[dbParameter.Length];                    //int pCount = dbParameter.Length;                    //int j = 0;                    //foreach (DbParameter item in dbParameter)                    //{                    //    if (j < pCount - 1)                    //        Oparms[j] = new OracleParameter(item.ParameterName, item.Value);                    //    j++;                    //}                                        //var oParam = new OracleParameter(dbParameter[pCount - 1].ParameterName, OracleDbType.Int32, 10);                    //oParam.Direction = System.Data.ParameterDirection.Output;                    //oParam.Value = 0;                    //Oparms[j - 1] = oParam;                                        var cmd = dbcontext.Database.Connection.CreateCommand();                    cmd.CommandType = CommandType.StoredProcedure;                    cmd.CommandText = procName;                    if (dbParameter.Length > 0)                        cmd.Parameters.AddRange(dbParameter);                    // cmd.Parameters.AddRange(Oparms);                    cmd.Connection.Open();                   int retCode= cmd.ExecuteNonQuery();                   var oParam = dbParameter[dbParameter.Length - 1];                    cmd.Connection.Close();                    return oParam.Value;// Convert.ToInt32(oParam.Value.ToString());//最后一个参数为输出参数                //return dbcontext.Database.ExecuteSqlCommand(DbContextExtensions.BuilderProc(procName, dbParameter), dbParameter);   }


                                             
0 0
原创粉丝点击