database-performance

Optimize data access patterns with EF Core and Dapper.

Updated Feb 10, 2026
One-click install
npx skills add https://github.com/tientt010/Dotnet-JiraLite-Microservices --skill database-performance-tientt010
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: database-performance
Source: https://github.com/tientt010/Dotnet-JiraLite-Microservices/tree/main/.github/skills/database-performance
Command: npx skills add https://github.com/tientt010/Dotnet-JiraLite-Microservices --skill database-performance-tientt010

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Streamline database access design to deliver predictable performance by advocating separate read/write models, minimizing N+1 queries, enabling AsNoTracking on reads, applying row limits, and ensuring joins are performed in SQL rather than in application code. Works with EF Core and Dapper.

Core Features & Use Cases

  • Pattern guidance for CQRS-based data access with distinct read and write models.
  • Performance best practices including AsNoTracking for reads, explicit row limits, and SQL-based joins.
  • Practical scenarios such as designing scalable data access layers for web apps and analytics reporting.

Quick Start

Create a minimal example that demonstrates separating read/write models, applying row limits, and using AsNoTracking for reads in EF Core or Dapper.

Frequently Asked Questions about database-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent N+1 queries in EF Core?▼

Designing separate read and write models separates data access patterns, ensuring queries use AsNoTracking, explicit row limits, and SQL-based joins to prevent N+1 queries and optimize performance.

What is the best way to separate read and write models for database performance?▼

Separating read and write models uses CQRS pattern guidance, applying AsNoTracking for reads and explicit row limits, ensuring joins are executed in SQL to deliver predictable database performance.

How do I choose between EF Core and Dapper for my data access layer?▼

Choose between EF Core and Dapper by evaluating distinct read and write models; apply AsNoTracking and row limits for reads, executing joins in SQL to ensure scalable data access layer design.

Does applying CQRS with read-write separation help web app scalability?▼

Applying CQRS with read-write separation helps web app scalability by optimizing data access patterns, preventing N+1 queries, and enforcing AsNoTracking and SQL joins across distinct read and write models.