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.