How do I add ROW_NUMBER to a LINQ query or Entity? 如何将此解决方案转换为VB.NET? var start = page * rowsPerPage;Products.OrderByDescending(u = u.Sales.Count()) .Skip(start) .Take(rowsPerPage) .AsEnumerable() .Select((u, index)
如何将此解决方案转换为VB.NET?
var start = page * rowsPerPage; Products.OrderByDescending(u => u.Sales.Count()) .Skip(start) .Take(rowsPerPage) .AsEnumerable() .Select((u, index) => new { Product = u, Index = index + start }); // this line gets me
我在移植最后一行时遇到了麻烦.我无法找到VB.NET示例.
我实际上并没有寻找像示例提供的任何分页功能,只是很好的老式Row_Number(Order By X)行索引.
LinqToSql无法在数据库中执行Row_Number(Order By X).您发布的c#代码通过调用Enumerable.Select来对内存中的实例进行处理
在msdn page for 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