Como dar um select top 100 em um datatable

Boa tarde galera sou novo por aqui e estou com um pequeno problema… Estou testando um WCF e uma das minhas consultas retornaram mais de 20 mil linhas. e precisava dar um select no datatable de retorno para fazer a inclusão pois está dando timeout.

Teria como fazer isso ???

ex.:

dim dt as datatable
dt = Select

dim dr as datarow()
dr = dt.select("top 100")

Seria algo assim…

É possível fazer isso. Você pode utilizar um extension method chamado Take.
Veja um exemplo de código que elaborei num Console Application.

        DataTable datatable = new DataTable();

        datatable.Columns.Add("Id");
        datatable.Columns.Add("Descricao");


        for (int i = 0; i < 1000; i++)
        {
            datatable.Rows.Add(i, Guid.NewGuid().ToString());
        }
        // O Take vai pegar os 100 primeiros
        foreach (DataRow row in datatable.AsEnumerable().Take(100))
        {
            Console.WriteLine(row["Id"] +"  "+ row["Descricao"]);
        }
        Console.Read()
1 curtida