【问题标题】:Lambda expression Linq-to-SQL get from record 5 to 10Lambda 表达式 Linq-to-SQL 从记录 5 到 10 获取
【发布时间】:2012-11-23 14:47:06
【问题描述】:

我一直在尝试获得以下信息:

我有一个包含 20 个元素的表格。我正在尝试编写一种方法来获取许多记录,并带有某种偏移量。

例如:我想获得 5 个元素,从第 6 个开始......这意味着我想要记录 nr 6、7、8、9 和 10。

这些数字不是表中的列或 id!我想以特定方式对表格进行排序,结果 id 被打乱。

这是我目前的查询:

project1_category[] categories = db.project1_categories.Select(c => c)
                                                       .OrderBy(c => c.Category)
                                                       .ToArray();

有什么想法吗?

提前致谢!

【问题讨论】:

  • 附带说明,Select(c => c) 是多余的,实际上什么都不做。

标签: c# asp.net sql-server linq lambda


【解决方案1】:

你需要使用SkipTake

project1_category[] categories = db.project1_categories.OrderBy(c => c.Category)
                                                       .Skip(5)
                                                       .Take(5)
                                                       .ToArray();

【讨论】:

    【解决方案2】:

    你需要使用Skip

    Enumerable.Skip Method

    Take

    Enumerable.Take Method

    var categories = db.project1_categories.Select(c => c).
        OrderBy(c => c.Category).Skip(5).Take(5).ToArray();
    

    【讨论】:

      猜你喜欢
      • 2011-06-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多