Effective Using LINQ To SQL (1) - 分頁技巧

yolov5运行detect.py之后卡住了?没后续,没结果,没报错,怎么办?如何解决? 🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。 阅读详情

 

Effective Using LINQ To SQL (1) - 分頁技巧
 
文/黃忠成
 LINQ To SQL支援了Skip與Take兩個LINQ函式,這意味著我們只要結合兩者,就能做出以往不容易做出的分頁擷取資料功能。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication19
{
    class Program
    {
        static void Main(string[] args)
        {
            NorthwindDataContext context = new NorthwindDataContext();
            context.Log = Console.Out;
            int page = 2;
            var result = (from s1 in context.Customers
                          orderby s1.CustomerID select s1).Skip(page * 10).Take(10);
            foreach (var item in result)
                Console.WriteLine(item.CustomerID);
            Console.ReadLine();
        }
    }
}
以上這段程式的意思是,將Customers資料表以CustomerID正向排序,然後以每頁10筆的單位,取得第20-30(也就是第三頁)的資料,下面是其執行結果及SQL Output。

SELECT [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactT
itle], [t1].[Address], [t1].[City], [t1].[Region], [t1].[PostalCode], [t1].[Coun
try], [t1].[Phone], [t1].[Fax], [t1].[NOTES], [t1].[TEST_ID]
FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY [t0].[CustomerID]) AS [ROW_NUMBER], [t0].
[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].
[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country], [t0].[
Phone], [t0].[Fax], [t0].[NOTES], [t0].[TEST_ID]
    FROM [dbo].[Customers] AS [t0]
    ) AS [t1]
WHERE [t1].[ROW_NUMBER] BETWEEN @p0 + 1 AND @p0 + @p1
ORDER BY [t1].[ROW_NUMBER]
-- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [20]
-- @p1: Input Int (Size = 0; Prec = 0; Scale = 0) [10]
-- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.21022.8
 
EASTC
ERNSH
FAMIA
FISSA
FOLIG
FOLKO
FRANK
FRANR
FRANS
FURIB
LINQ To SQL善用了SQL Server 2005的ROW_NUMBER指令來完成Skip與Take的功能。
不過,說實在的,分頁其實最常用在於UI顯示的部份,尤其是ASP.NET應用程式上,而ASP.NET 3.5所提供的LINQDataSource控件已自動會處理分頁動作,所以,設計師自行處理分頁的機會變少了許多。
 而Windows Form、WPF,因為沒有LINQDataSource可用,所以要處理分頁,得自己來才行,不過,這複雜度可不是僅呼叫Skip、Take就能處理了,必須自己實做類似BindingSource的控件才行。
 
 
 
基于Simulink的光伏电站AGC/AVC协调控制仿真 摘要:本文基于Simulink构建光伏电站AGC/AVC协调控制仿真模型,通过分层控制架构实现有功-无功解耦与储能协同。系统包含100kW光伏阵列、50kWh储能及逆变器组件,采用PID控制器实现AGC频率调节(±0.1Hz)和Q-V下垂控制实现AVC电压稳定(±2%)。仿真验证了三种工况下协调控制的有效性:正常调度时储能充电20kW;负荷突增时储能15kW放电维持频率;光照骤降时储能30kW放电并吸收2kVAR无功稳定电压。结果表明,该方案可使频率/电压偏差分别控制在0.1Hz和7.6V内,响应时间&lt 阅读详情

相关推荐

Ansys Lumerical 2023 R1.2新功能实战:薄膜铌酸锂调制器仿真全流程解析

本文详细解析了Ansys Lumerical 2023 R1.2在薄膜铌酸锂电光相位调制器仿真中的最新功能与应用。通过实战演示,展示了从电极配置、电场计算到模式分析的全流程,重点介绍了各向异性介电常数支持和多物理场耦合优化等关键技术,助力开发者高效设计高性能光通信器件。

weixin_28454475的博客 1206

【More Effective C#】LINQ表达式与方法调用的映射

LINQ构建在两个概念之上,一种查询语言和一系列将查询语言转换成方法调用的实现.在编译时,编译器将LINQ表达式(LINQtoobject)转换成方法调用..Net基础类库提供了两种扩展方法.System.Linq.Enumerable使用了IEnumerable<T>上扩展来实现,而System.Linq.Queryable则提供了类似的一系列IQueryable<T&gt...

weixin_30894583的博客 101

以ATT&CK为例构建网络安全知识图

随着攻击工具、方法的逐渐升级和复杂化,安全数据的大规模融合,攻防对抗愈加激烈。安全团队如何在浩瀚数据中有效发现高级威胁的蛛丝马迹,如何把网络安全专家的经验、知识有效转化为可复制可扩展的数据分析能力,如何将对抗高级威胁的“炼金术”逐步升级为科学淘金指南,如何将安全从业者从繁重的体力劳动中解放出来,愈发成为安全能力亟需突破的难点和重点,也是我们正在探索的方向。正如医疗行业中治疗疑难杂症依赖医疗专家,网络空间高级威胁的防护和处置也依赖安全专家的经验与知识。

2401_88752684的博客 1090

转:【More Effective C#】Lambda表达式优化

http://www.cnblogs.com/kongyiyun/archive/2010/10/19/1855274.html 使用Lambda表达式将会造成Lambda表达式主题部分的代码重复. var allEmployees = new List<Employee>() { new Employee { EmployeeId = 1, Classifi...

ditai8778的博客 130

【DenseFusion系列目录】代码全讲解+可视化+计算评估指标

DenseFusion是2019年李飞飞等提出的用于6D姿态估计的网络。它是一种端到端的结构,输入为RGB-D数据,输出为某个物体的6D姿态。主要贡献就是针对颜色特征和几何特征提出了一种像素级稠密融合的方式。在LineMOD数据集和YCB-Video数据集上进行了实验。本文对该网络进行完整的复现,详细解析了源代码中的重要内容。由于本人刚接触姿态估计方面的内容,因此有些解析部分包含很基础的知识,放在【DenseFusion详解】专栏。除此之外,本文在源代码的基础上进行了后续评价指标的计算以及结果的可视化,这些

weixin_44564705的博客 9417

开关电源的纹波和噪声电压-抑制方法

开关电源(包括AC/DC转换器、DC/DC转换器、AC/DC模块和DC/DC模块)与线性电源相比较,最突出的优点是转换效率高,一般可达80%~85%,高的可达90%~97%;其次,开关电源采用高频变压器替代了笨重的工频变压器,不仅重量减轻,体积也减小了,因此应用范围越来越广。 但开关电源的缺点是由于其开关管工作于高频开关状态,输出的纹波和噪声电压较大,一般为输出电压的1%左右(低的为输出电压的0.5%左右),最好产品的纹波和噪声电压也有几十mV;而线性电源的调整管工作于线性状态,无纹波电压,输出的噪声电压也

ltqdxl的博客 1万+

Effective C# 学习笔记(三十五) 了解PLINQ如何实现并行算法

AsParallel() 是PLINQ的一个方法,它使得并行编程变得简单,但是其并不能解决并行编程中的所有问题。 首先举例说明如何对于一个顺序执行的逻辑启用并行运行特性,看如下代码: var numsParallel = from n in data.AsParallel() //这里用了AsParallel()方法进行并行调用 where n < 150 s...

weixin_30621959的博客 138

SC8F073单片机串口通信保姆级教程:从寄存器配置到完整收发Demo(附避坑指南)

本文详细解析了SC8F073单片机串口通信的寄存器配置与调试技巧,涵盖TXSTA、RCSTA和SPBRG寄存器的逐位设置,提供精确的波特率计算方法和工业级抗干扰策略。通过完整的收发Demo和避坑指南,帮助开发者快速掌握底层串口通信技术,适用于工业控制等严苛环境。

weixin_33724046的博客 484

【More Effective C#】Lambda表达式优化

使用Lambda表达式将会造成Lambda表达式主题部分的代码重复. var allEmployees = new List<Employee>() { new Employee { EmployeeId = 1, Classification = 1, FirstName = "Skin", LastName = "Sen" } }; var ...

weixin_30583563的博客 122

SAP采购订单中项目类别B(限制)的控制逻辑

在笔者所在企业中,框架类采购订单中项目类别需要选择B(限制)。今天笔者从比较全面的角度分析了一下这个项目类别B到底可以决定些什么?控制到什么?先从后台SPRO中打开相应的配置菜单。 打开项目类别B之后,可以看到一些配置信息,这里有一点与其它配置不同的地方,即无法新增项目,也无法修改现有项目。这个疑惑今后再去解决吧。当前只研究项目类别B的控制逻辑。 下面就参考上图中的配置分段来分析和测试其控制逻辑, 1、如项目类别配置图,所需材料值为不允许;经测试,如下图在采购订单创建时,不能输入物料编号条目。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 6032

2026年全国青少年信息素养大赛算法应用主题赛C++样题及答案解析

2026年全国青少年信息素养大赛算法应用主题赛C++样题

王老师青少年编程 3712

【More Effective C#】Partial Class是怎樣煉成的?

什么是部分类(Partial Class)?<br />C#中.我们可以利用部分类,将一个类分散到多个类文件中,这样我们就可以多个开发者同时开发某个类库,或者是扩展其他开发者发布的类库.甚至是代码生成器生成的代码,例如LINQ2SQL,ADO.NET EF等,以获取更高效的开发.<br />Re:Class和Class File的区别.这里的类是我们平时所说的普通类-Class,如抽象类,基类,子类等等.而类文件-Class File则是我们平时编写类时所用到的文件,如C#的.cs,VB的.vb.<br /

体会技术牛人的高傲 1006

Dify 本地部署教程

到这里,Dify 就安装完成了,更多操作设置可以参考官方文档,Dify 和 FastGPT 基本上差不多,也可以同时安装一下 FastGPT 进行体验~Docker Compose 部署 | Dify。

Muti-Agent 6647

一起谈.NET技术,【More Effective C#】Lambda表达式优化

  使用Lambda表达式将会造成Lambda表达式主题部分的代码重复. 1. var allEmployees = new List&lt;Employee&gt;() { 2. new Employee { 3. EmployeeId = 1, Classification = 1, FirstName = "Skin", LastName = "Sen" } }; ...

weixin_34032827的博客 128

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【More Effective C#】IEnumerable和IQueryable的那点事

IEnumerable,IQueryable之前世今生             IEnumerable在.Net2.0中我们已经很熟悉了.你想要利用Foreach迭代吗?实现IEnumerable吧!你想直接做为数据源绑定到控件吗?使用IEnumerable吧!是的.只要是序列.它都实现了IEnumerable(.Net1.0下的序列类除外).除了这些.LINQ的出现.还赋予了IEnumerab

优快云515的专栏 1022

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Apache POI替代EasyExcel的实战迁移指南

Apache POI是Java生态中处理Excel文件的事实标准库,基于OOXML规范提供对.xlsx格式的底层控制能力。其核心原理在于将Excel文档映射为Workbook/Sheet/Row/Cell四级对象模型,并通过XSSF(内存式)与SXSSF(流式)双引擎支持不同规模场景。相比EasyExcel等高层封装库,POI的技术价值在于细粒度内存调控、跨Sheet公式可靠性、自定义数字格式与条件样式等企业级刚需能力。典型应用场景包括百万行报表导出、动态合并表头、金融级格式合规校验及政府数据上报系统。本文

weixin_34279579的博客 281

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【转】【More Effective C#】IEnumerable和IQueryable的那点事

IEnumerable,IQueryable之前世今生   IEnumerable<T>在.Net2.0中我们已经很熟悉了。你想要利用Foreach迭代吗?实现IEnumerable<T>吧!你想直接做为数据源绑定到控件吗?使用IEnumerable吧!是的,只要是序列它都实现了IEnumerable<T>(.Net1...

weixin_33753003的博客 116

【More Effective C#】Partial Class是怎样炼成的?

什么是部分类(Partial Class)? C#中.我们可以利用部分类,将一个类分散到多个类文件中,这样我们就可以多个开发者同时开发某个类库,或者是扩展其他开发者发布的类库.甚至是代码生成器生成的代码,例如LINQ2SQL,ADO.NET EF等,以获取更高效的开发. Re:Class和Class File的区别.这里的类是我们平时所说的普通类-Class,如抽象类,基类,子类等等.而...

weixin_30487701的博客 142

C++ Primer Plus高效学习指南:从入门到实践的正确路径

C++作为一门核心的系统级编程语言,其学习过程往往从掌握基础语法和编程范式开始。理解编程语言的底层原理,如内存管理、编译链接过程,是构建扎实技术能力的基础。对于初学者而言,系统性的教材如《C++ Primer Plus》提供了结构化的知识框架,但真正的技术价值在于将理论知识转化为解决实际问题的工程实践能力。这需要通过持续的编码、调试和项目练习来实现。在应用场景上,无论是开发系统软件、游戏引擎还是高性能计算应用,对C++的深入理解都至关重要。本文聚焦于如何高效利用《C++ Primer Plus》这本经典教材

weixin_30635053的博客 465

《Effective C#》快速笔记(四)- 使用框架

  .NET 是一个类库,你了解的越多,自己需要编写的代码就越少。 目录 三十、使用重写而不是事件处理函数 三十一、使用 IComparable<T> 和 IComparer<T> 实现顺序关系 三十二、避免使用 ICloneable 接口 三十三、仅用 new 修饰符处理基类更新 三十四、避免重载基类中定义的方法 三十五、PLI...

dengyanxi2992的博客 167
上一篇: 談極意之道-.NET Framework 3.5 資料庫開發聖典 ASP.NET 篇
下一篇: 當VS2005 遇上 LINQ
Code6421
博客等级 码龄20年 259粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值