dotnet-data-access-strategy

Compare Entity Framework Core, Dapper, and ADO.NET for .NET data access decisions.

71|10|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-data-access-strategy-wshaddix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-data-access-strategy
Source: https://github.com/wshaddix/dotnet-skills/tree/main/skills/dotnet-data-access-strategy
Command: npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-data-access-strategy-wshaddix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill helps developers decide between Entity Framework Core, Dapper, and raw ADO.NET for their .NET data access needs, considering performance, complexity, and AOT compatibility.

Core Features & Use Cases

  • Decision Framework: Provides a matrix comparing EF Core, Dapper, and ADO.NET across various factors like learning curve, performance, and AOT support.
  • Scenario Guidance: Offers clear recommendations on when to choose each technology based on project requirements.
  • Hybrid Approaches: Explains how to effectively combine different data access methods within a single application.
  • Use Case: You're starting a new .NET project and are unsure whether to use an ORM like EF Core or a micro-ORM like Dapper for database interactions. This skill will guide you through the trade-offs to make an informed decision.

Quick Start

Guide me in choosing the best data access strategy for a new .NET Core application that requires high performance and AOT compatibility.

Frequently Asked Questions about dotnet-data-access-strategy

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

FAQPage Schema
What's the best way to choose between EF Core and Dapper for .NET data access?

Choosing between EF Core and Dapper for .NET data access requires analyzing performance tradeoffs, learning curve, and feature requirements. A decision framework comparing these ORMs against project needs helps facilitate informed technology selection.

Does EF Core or Dapper work better with .NET AOT and trimming?

For .NET AOT compatibility, raw ADO.NET and Dapper generally offer better trimming support than EF Core. Evaluating AOT compatibility is a critical factor when selecting a data access strategy for high-performance .NET applications.

How do I combine EF Core and Dapper in a single .NET application?

You can combine EF Core and Dapper in a single .NET application by using a hybrid approach. This strategy effectively balances rapid development features with high-performance queries where needed.

When should I use raw ADO.NET instead of a micro-ORM like Dapper?

Use raw ADO.NET instead of Dapper when you require maximum performance and fine-grained control over database interactions. A decision matrix can help determine if the added complexity of ADO.NET is justified for your specific scenario.

What factors should I consider for .NET data access performance?

When evaluating .NET data access performance, consider the tradeoffs between development speed, query efficiency, and AOT support. Comparing EF Core, Dapper, and ADO.NET across these dimensions ensures an informed decision.

How do I start selecting a .NET data access strategy for a high-performance project?

To start selecting a .NET data access strategy, define your project's performance and AOT compatibility requirements. Then use a decision framework to compare EF Core, Dapper, and ADO.NET against those specific constraints.