dotnet-data-access-strategy

Compares EF Core, Dapper, and raw ADO.NET for selecting .NET data access strategies.

1|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/rudironsoni/dotnet-agent-harness --skill dotnet-data-access-strategy-rudironsoni
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-data-access-strategy
Source: https://github.com/rudironsoni/dotnet-agent-harness/tree/main/.rulesync/skills/dotnet-data-access-strategy
Command: npx skills add https://github.com/rudironsoni/dotnet-agent-harness --skill dotnet-data-access-strategy-rudironsoni

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers make informed decisions about selecting the most appropriate data access technology (EF Core, Dapper, or raw ADO.NET) for their .NET applications, considering factors like performance, productivity, and AOT compatibility.

Core Features & Use Cases

  • Decision Matrix: Compares EF Core, Dapper, and ADO.NET across key factors like learning curve, performance, and AOT support.
  • Guidance: Provides clear recommendations on when to choose each technology.
  • Hybrid Approaches: Explains how to effectively combine different data access methods within a single application.
  • Use Case: A developer is starting a new .NET project and is unsure whether to use EF Core for its ORM capabilities or Dapper for better performance. This Skill provides a clear comparison and guidance to make the best choice for their specific needs.

Quick Start

Use the dotnet-data-access-strategy skill to compare EF Core, Dapper, and ADO.NET for a new .NET project.

Frequently Asked Questions about dotnet-data-access-strategy

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

FAQPage Schema
What is the best way to choose between EF Core and Dapper for a .NET data access layer?

Choosing between EF Core and Dapper requires evaluating performance, productivity, and AOT compatibility. EF Core prioritizes developer productivity, while Dapper offers better performance through lightweight object mapping.

When should I use raw ADO.NET instead of an ORM in my .NET application?

Use raw ADO.NET when you require maximum performance and full control over SQL execution. It provides the highest execution speed and AOT/trimming compatibility, but lacks the productivity features of ORMs like EF Core.

Can I combine EF Core and Dapper within a single .NET application?

Yes, you can combine EF Core and Dapper in a single .NET application. Implementing a hybrid data access strategy allows you to use EF Core for complex CRUD operations and Dapper for high-performance read-only queries.

Does EF Core support Native AOT and trimming in .NET data access scenarios?

EF Core has limitations with Native AOT and trimming due to its heavy reflection use. For .NET data access scenarios requiring strict AOT compatibility, lightweight micro-ORMs like Dapper or raw ADO.NET are recommended.

How do I migrate from Entity Framework Core to Dapper for better performance?

Migrating from EF Core to Dapper involves replacing ORM-managed queries with manual SQL statements. A hybrid approach is recommended, gradually migrating critical read paths to Dapper while leaving complex domain logic on EF Core to balance performance and productivity.