zoukankan      html  css  js  c++  java
  • LINQ系列:LINQ to SQL Take/Skip

    1. Take

    var expr = context.Products
        .Take(10);
    var expr = (from p in context.Products
                select p)
                .Take(10);
    SELECT TOP (10) 
        [c].[ProductID] AS [ProductID], 
        [c].[CategoryID] AS [CategoryID], 
        [c].[ProductName] AS [ProductName], 
        [c].[UnitPrice] AS [UnitPrice], 
        [c].[UnitsInStock] AS [UnitsInStock], 
        [c].[Discontinued] AS [Discontinued]
        FROM [dbo].[Product] AS [c]

    2. Skip

      在使用Skip方法之前,需要先有OrderBy排序。

    var expr = context.Products
        .Select(p => new { p.ProductID, p.ProductName })
        .OrderBy(p => p.ProductID)
        .Skip(10);
    SELECT 
        [Extent1].[ProductID] AS [ProductID], 
        [Extent1].[ProductName] AS [ProductName]
        FROM ( SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[ProductName] AS [ProductName], row_number() OVER (ORDER BY [Extent1].[ProductID] ASC) AS [row_number]
            FROM [dbo].[Product] AS [Extent1]
        )  AS [Extent1]
        WHERE [Extent1].[row_number] > 10
        ORDER BY [Extent1].[ProductID] ASC

    3. 分页查询Take/Skip

    var expr = context.Products
        .Select(p => new { p.ProductID, p.ProductName })
        .OrderBy(p => p.ProductID)
        .Skip(10)
        .Take(10);
    SELECT TOP (10) 
        [Extent1].[ProductID] AS [ProductID], 
        [Extent1].[ProductName] AS [ProductName]
        FROM ( SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[ProductName] AS [ProductName], row_number() OVER (ORDER BY [Extent1].[ProductID] ASC) AS [row_number]
            FROM [dbo].[Product] AS [Extent1]
        )  AS [Extent1]
        WHERE [Extent1].[row_number] > 10
        ORDER BY [Extent1].[ProductID] ASC
  • 相关阅读:
    【蓝桥杯/算法训练】Sticks 剪枝算法 (附胜利大逃亡)
    【蓝桥杯/基础练习】回文数、特殊的回文数
    【蓝桥杯/基础练习】十六进制转八进制
    交叉验证
    第一次写博客---交叉验证
    实验五
    汇编语言第二章
    实验四
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/libingql/p/4052842.html
Copyright © 2011-2022 走看看