O skin que escrevi só pega o Texto sem o Valor para ficar bem. Agora use este método para resolver a maneira inconveniente de tirar apenas o Valor do Texto. claro, você também pode retornar apenas esses dois List.
código
/// <resumo>
/// Obtém o índice com base no nome da coluna
/// </sumário>
/// <param name="fiId">Nome da coluna</param>
/// <returns>Índice da coluna</returns>
string privada GetFunctionNameByName(string Nome)
{
var resultado = this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault() ;
retornar resultado["fiId"].ToString();
}
GetFunctionInfo é um método que consulta todas as informações da tabela
/// <resumo>
/// Obtém o nome da coluna com base no índice da coluna
/// </sumário>
/// <param name="fiId">Índice da coluna</param>
/// <returns>Nome da coluna</returns>
string privada GetFunctionNameById(int fiId)
{
var resultado = this._fiTable.AsEnumerable().Where(fi => Convert.ToInt32(fi["fiId"]) == fiId).FirstOrDefault();
return resultado["fiNome"].ToString();
}
Os dois métodos são correspondentes. Acho que é muito mais conveniente consultar desta forma. Pode ser feito diretamente na recepção. Ao conectar-se ao banco de dados, você só precisa consultar todos os métodos de uma vez.
Deixe-me explicar esta etapa.
this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault();
this.objWSM.GetFunctionInfo() é um método para consultar todos
AsEnumerable().Where() retorna uma linha genérica, que pode ser consultada usando expressões LinQ
f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim())Expressão Linq
F1 é o nome de uma linha recém-gerada
f1["fiName"]. Claro que é o nome da coluna nesta linha, => seguido pela condição e precedido pelo conjunto.
f1["fiName"].ToString().Trim() == Name.ToString().Trim() significa que se houver dois valores iguais nesta linha, retire-os
FirstOrDefault(); significa pegar a primeira linha
Neste ponto, o problema está quase resolvido. Contanto que haja um método para consultar essas duas colunas, escreva esses dois métodos na recepção e tudo ficará bem sempre. Não há necessidade de escrever dois métodos especiais para. acessar o banco de dados, o que é muito conveniente.