GameFramework.DataDML.LoadMultiTableMemberInfo C# (CSharp) Method

LoadMultiTableMemberInfo() private static method

private static LoadMultiTableMemberInfo ( List foreignKeys ) : List
foreignKeys List
return List
        private static List<GeneralRecordData> LoadMultiTableMemberInfo(List<string> foreignKeys)
        {
            List<GeneralRecordData> ret = new List<GeneralRecordData>();
            try {
              using (MySqlCommand cmd = new MySqlCommand()) {
                cmd.Connection = DBConn.MySqlConn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "LoadMultiTableMemberInfo";
                if(foreignKeys.Count != 1)
                    throw new Exception("foreign key number don't match !!!");
                MySqlParameter inputParam;
                inputParam = new MySqlParameter("@_UserGuid", MySqlDbType.UInt64);
                inputParam.Direction = ParameterDirection.Input;
                inputParam.Value = (ulong)Convert.ChangeType(foreignKeys[0],typeof(ulong));
                cmd.Parameters.Add(inputParam);
                using (DbDataReader reader = cmd.ExecuteReader()) {
                  while (reader.Read()) {
                    GeneralRecordData record = new GeneralRecordData();
                    object val;
                    TableMemberInfo msg = new TableMemberInfo();
                    val = reader["MemberGuid"];
                    msg.MemberGuid = (ulong)val;
                    record.PrimaryKeys.Add(val.ToString());
                    val = reader["UserGuid"];
                    msg.UserGuid = (ulong)val;
                    record.ForeignKeys.Add(val.ToString());
                    val = reader["HeroId"];
                    msg.HeroId = (int)val;
                    val = reader["Level"];
                    msg.Level = (int)val;
                    record.DataVersion = (int)reader["DataVersion"];
                    record.Data = DbDataSerializer.Encode(msg);
                    ret.Add(record);
                  }
                }
              }
            } catch (Exception ex) {
              DBConn.Close();
              throw ex;
            }
            return ret;
        }