Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计通过

linq-optimization-patternslinq 优化模式

Agent Skill

linq-optimization-patterns 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

456

周安装

19

GitHub Stars

21

下载量

152
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:linq-optimization-patterns(linq 优化模式)
来源仓库:https://github.com/thapaliyabikendra/ai-artifacts
仓库路径:skills/linq-optimization-patterns
安装命令:
npx skills add https://github.com/thapaliyabikendra/ai-artifacts --skill linq-optimization-patterns
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/thapaliyabikendra/ai-artifacts --skill linq-optimization-patterns

简介

提供ABP框架下Entity Framework Core的高效数据访问模式指南。

  • 涵盖N+1预防、分页、投影、批量加载等核心优化技术。
  • 包含反模式检测与决策树,辅助代码审查与性能调优。linq-optimization-patterns 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 适用于C#后端开发环境,需配合EF Core使用。
  • 建议结合具体业务场景选择合适模式,避免过度优化。

SKILL.md

LINQ Optimization Patterns

Optimize LINQ queries and prevent performance anti-patterns in EF Core/ABP applications.


Summary

This skill covers efficient data access patterns for Entity Framework Core in ABP Framework applications. Focus areas: N+1 prevention, pagination, projections, and batch loading.

When to use: Reviewing queries, fixing slow endpoints, implementing list APIs.


Concepts

ConceptDescriptionDetails
Eager LoadingLoad related entities in single query via JOIN[patterns/eager-loading.md]
ProjectionTransform to DTO at database level[patterns/projection.md]
Batch LoadingLoad related data for multiple parents in one query[patterns/batch-loading.md]
PaginationEfficient paging with count optimization[patterns/pagination.md]

Anti-Patterns

Anti-PatternSeverityDetectImpactDetails
N+1 Query🔴 HIGHforeach.*await.*RepoN+1 DB calls[anti-patterns/n-plus-one.md]
Count After Pagination🔴 HIGHCount.*after.*ToListDouble query[anti-patterns/count-after-pagination.md]
Full Table Load🔴 HIGHGetListAsync() then filterMemory explosion[anti-patterns/full-table-load.md]
In-Memory Join🔴 HIGHMultiple ToListAsyncCartesian in memory[anti-patterns/in-memory-join.md]

Decision Tree

Need related data for display?
├─ Single entity ──────────► Include()        → [patterns/eager-loading.md]
├─ List of entities ───────► Batch load       → [patterns/batch-loading.md]
└─ Only specific fields ───► Projection       → [patterns/projection.md]

Need paginated list with count?
└─ Always count FIRST ─────► CountAsync()     → [patterns/pagination.md]

Loading data then filtering?
├─ Filter in query ────────► WhereIf()        → ✅ Correct
└─ Filter after ToList ────► ❌ Anti-pattern  → [anti-patterns/full-table-load.md]

Quick Detection

Run these to find issues in your codebase:

# N+1: Query inside loop
grep -rn "foreach.*await.*Repository\|for.*await.*GetAsync" src/

# Count after pagination
grep -rn "\.Count().*ToList\|ToList.*\.Count()" src/

# Full table load
grep -rn "GetListAsync()" src/ | grep -v "Where\|Any\|First"

# In-memory filtering
grep -rn "ToListAsync().*\.Where\|GetListAsync.*\.Where" src/

Rules

IDRuleRelated
R001Execute CountAsync() before Skip/Take[anti-patterns/count-after-pagination.md]
R002Apply Where clauses before ToListAsync()[anti-patterns/full-table-load.md]
R003Load related entities via Include or batch, not in loops[anti-patterns/n-plus-one.md]
R004Use Select() projection for DTO returns[patterns/projection.md]
R005Use AsNoTracking() for read-only queries[patterns/projection.md]
R006Use AsSplitQuery() for multiple collection includes[patterns/eager-loading.md]

Checklist

Review checklist for LINQ queries:

  • No foreach/for with await repository calls inside
  • CountAsync() executed before Skip/Take
  • No GetListAsync() followed by .Where() in memory
  • No FirstOrDefault inside Select projections
  • Related data loaded via Include or batch query
  • Select() projection used for DTO returns
  • AsNoTracking() used for read-only queries
  • Multiple collection includes use AsSplitQuery()

Integration Points

This skill is used by:

  • abp-code-reviewer: Query performance validation
  • abp-developer: Efficient data access implementation
  • debugger: Performance issue diagnosis

Related Skills


适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenCode

28.32%
按下载量换算43

Claude Code

22.44%
按下载量换算34

github-copilot

16.68%
按下载量换算25

Codex

11.69%
按下载量换算18

mcpjam

6.73%
按下载量换算10

cline

3.4%
按下载量换算5

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills