dotnet-data-access-strategy

Compare EF Core, Dapper, and ADO.NET tradeoffs for .NET data access.

Updated Aug 16, 2025
One-click install
npx skills add https://github.com/dodyg/blue-nile-pds --skill dotnet-data-access-strategy-dodyg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-data-access-strategy
Source: https://github.com/dodyg/blue-nile-pds/tree/main/.agents/skills/dotnet-data-access-strategy
Command: npx skills add https://github.com/dodyg/blue-nile-pds --skill dotnet-data-access-strategy-dodyg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Chooses a data access approach for .NET applications by presenting a decision matrix between EF Core, Dapper, and raw ADO.NET, highlighting tradeoffs in performance, features, and migration paths.

Core Features & Use Cases

  • EF Core vs Dapper vs ADO.NET decision matrix
  • Performance vs features tradeoffs, AOT/trimming considerations, and migration paths
  • Guidance on hybrid approaches and practical scenarios across typical project lifecycles

Quick Start

Provide your project context and constraints, and the system will suggest the optimal data-access strategy.

Frequently Asked Questions about dotnet-data-access-strategy

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

FAQPage Schema
EF Core vs Dapper vs ADO.NET: what is the best data access strategy for .NET apps?

A data access strategy for .NET apps compares EF Core, Dapper, and ADO.NET using a decision matrix to evaluate performance, features, and migration paths. It helps teams select the optimal approach based on specific project constraints and scale.

How do I choose between EF Core and Dapper for performance-sensitive .NET components?

Choosing between EF Core and Dapper for performance-sensitive .NET components requires evaluating tradeoffs in startup time, memory usage, and query execution speed. The decision matrix highlights when Dapper's lightweight mapping is preferable over EF Core's broader feature set.

Can I use a hybrid data access approach mixing EF Core and raw ADO.NET in one project?

A hybrid data access approach mixing EF Core and raw ADO.NET is supported within standard .NET project lifecycles. It allows teams to use EF Core for standard CRUD operations while applying raw ADO.NET or Dapper specifically to performance-critical components.

How do I migrate from EF Core to Dapper for better data access performance?

Migrating from EF Core to Dapper for better data access performance involves following specific migration guidance that weighs learning curves and practical tradeoffs. The strategy outlines paths to transition components while maintaining application stability across typical project lifecycles.

Does EF Core work well with AOT compilation and trimming in .NET applications?

EF Core AOT compilation and trimming considerations are factored into the data access decision matrix. The strategy evaluates whether EF Core's reflection-based features fit AOT requirements, contrasting them against Dapper and raw ADO.NET for trimming compatibility.

When should I not use EF Core for .NET data access?

You should not use EF Core for .NET data access when memory usage and startup time are critical constraints, or when raw query performance is paramount. The decision matrix identifies these limitations, recommending Dapper or raw ADO.NET for specialized, performance-focused scenarios.