Olá pessoal, tudo bom?
Não é possível fazer uma consulta LINQ diretamente sobre a coleção Rows do DataTable, porque o DataRowCollection não implementa IEnumerable<T>, nesse caso, é necessário usar o método AsEnumerable() do DataTable conforme exemplo abaixo:
protected void btnObter_Click(object sender, EventArgs e) { SacadoDAOExemplo dados = new SacadoDAOExemplo(); DataTable dt = dados.Obter(); //Método que retorna um DataTable de exemplo //Aplicando a consulta LINQ var resultado = from item in dt.AsEnumerable() where item.Field<int>("sac_id") > 2 select item; //Varrendo o resultado foreach (var r in resultado) Response.Write(r.Field<string>("sac_nome") + "<br />"); //* sac_id e sac_nome são colunas da tabela que está vindo como retorno no DataTable }
AsEnumerable() retorna IEnumerable<DataRow> o que torna possível a aplicação de uma consulta LINQ.
Grande abraço,
Eduardo Henrique Rizo
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]