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); }
EF框架下调用 调用Oracle 存储过程
最新推荐文章于 2022-07-02 11:03:27 发布