登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
.NET开发中3秒判断该用 IEnumerable 还是 IQueryable ...
.NET开发中3秒判断该用 IEnumerable 还是 IQueryable
[ 复制链接 ]
靳谷雪
2025-10-6 12:25:29
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
在.NET开发中,IEnumerable和IQueryable是处理数据集合时最常用的两个接口。很多开发者对它们的选择感到困惑,但其实只需要掌握几个关键点就能快速做出正确决策。
核心区别:执行位置
IEnumerable:在内存中执行查询操作
IQueryable:在数据源端执行查询操作
选择 IEnumerable 当:
1、数据已在内存中
// 数据来自内存集合
List<User> users = GetUsersFromMemory();
var result = users.Where(u => u.Age > 18); // 使用 IEnumerable
复制代码
2、需要立即执行查询
var users = dbContext.Users.ToList() // 立即执行
.Where(u => u.Age > 18); // 在内存中过滤
复制代码
3、使用LINQ to Objects功能
// 使用.NET方法而非SQL可翻译的方法
var result = users.Where(u => u.Name.Contains("John"))
.AsEnumerable() // 切换到内存操作
.Select(u => new { u.Name, Initial = u.Name[0] });
复制代码
选择 IQueryable 当:
1、需要数据库端过滤
// 查询被转换为SQL并在数据库执行
var result = dbContext.Users
.Where(u => u.Age > 18) // 生成 SQL: WHERE Age > 18
.OrderBy(u => u.Name);
复制代码
2、需要分页或聚合操作
// 只在数据库获取需要的记录
var pagedResult = dbContext.Users
.Where(u => u.IsActive)
.Skip(20).Take(10) // 生成分页SQL
.ToList();
复制代码
3、构建动态查询
IQueryable<User> query = dbContext.Users;
if (!string.IsNullOrEmpty(searchName))
query = query.Where(u => u.Name.Contains(searchName));
if (minAge.HasValue)
query = query.Where(u => u.Age >= minAge.Value);
var finalResult = query.ToList(); // 单一SQL查询
复制代码
性能提示
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
NET
开发
3秒
判断
该用
相关帖子
STM32F103ZET6开发板串口只发不收问题解决
Zed Editor C++开发环境配置(基于 CMAKE 与 MinGW-w64 )
Solon AI 开发学习11 - chat - 工具调用与定制(Tool Call)
.NET 生态系统中 LoongArch 与 RISC-V 的整合深度分析
Solon AI 开发学习13 - chat - Tool的输入输出架构及生成类
Solon AI 开发学习16 - generate - 生成模型(图、音、视)
FFmpeg开发笔记(九十一)基于Kotlin的Android直播开源框架RootEncoder
go net/http 学习笔记
定制化 Live555 实战:按需开发低耗 RTSP 服务器,完美适配 C# 项目
百度来路判断,屏蔽pc端跳转代码,最好
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
STM32F103ZET6开发板串口只发不收问题解决
0
430
辜酗徇
2025-12-03
业界
Zed Editor C++开发环境配置(基于 CMAKE 与 MinGW-w64 )
0
187
饨篦
2025-12-04
业界
Solon AI 开发学习11 - chat - 工具调用与定制(Tool Call)
0
506
院儿饯
2025-12-04
业界
.NET 生态系统中 LoongArch 与 RISC-V 的整合深度分析
1
791
替攀浮
2025-12-05
业界
Solon AI 开发学习13 - chat - Tool的输入输出架构及生成类
0
942
劳怡月
2025-12-05
业界
Solon AI 开发学习16 - generate - 生成模型(图、音、视)
0
268
皇甫佳文
2025-12-06
业界
FFmpeg开发笔记(九十一)基于Kotlin的Android直播开源框架RootEncoder
0
451
钤凑讪
2025-12-06
业界
go net/http 学习笔记
0
850
赴忽
2025-12-07
安全
定制化 Live555 实战:按需开发低耗 RTSP 服务器,完美适配 C# 项目
0
227
敕码
2025-12-07
代码
百度来路判断,屏蔽pc端跳转代码,最好
0
7
新程序
2025-12-08
回复
(4)
马璞玉
2025-10-21 00:06:00
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个有用。
讥慰捷
2025-10-24 00:44:50
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
接快背
2025-10-29 16:22:17
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
敖雨燕
2025-11-14 06:44:34
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
湄圳啸
前天 15:41
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
科技
签约作者
程序园优秀签约作者
发帖
靳谷雪
前天 15:41
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991122
4
xiangqian
638210
5
宋子
9987
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多