LinqToSql не может выполнить Row_Number (Order By X) в базе данных.
Код c #, который вы разместили, делает это против экземпляров в памяти, вызывая Enumerable.Select
В msdn page для Enumerable.Select, есть пример vb.net.
Вот рабочий пример, демонстрирующий проекцию индекса строки в VB.NET:
Dim R = (
From P In DB.Products Select P
).AsEnumerable().Select(
Function(Product, index) New With {index, Product}
)
Response.Write(R(12).Product.Doc_width.ToString()) 'Access object members
Response.Write(R(12).index.ToString() 'Access Row Index