Accesso ai dati in .NET quando performance, coerenza e manutenzione contano davvero

Qui trovi Entity Framework Core, LINQ e data access spiegati per evitare query tossiche, modelli incoerenti e scelte che rallentano ogni evoluzione del software nel momento peggiore.

Analisi, casi e articoli su Entity Framework Core, LINQ e data access

2 articoli trovati

Quando lo strato dati decide la qualita del software

Lo strato dati decide la qualita del software quando le performance contano, le query diventano complesse e il modello deve evolvere senza rompere il resto del sistema. E qui che buone scelte su ORM, mapping e database incidono davvero su costi e affidabilita.

Tecnologie correlate alla gestione dati

SQL Server

database relazionale Microsoft piu usato con EF Core in contesti enterprise

Dapper

micro-ORM per query SQL dirette ad alte performance in .NET

.NET

piattaforma su cui gira l'intero stack di accesso ai dati

Fonti e riferimenti

Julie Lerman, Programming Entity Framework Core

Julie Lerman e la massima esperta mondiale di Entity Framework e i suoi libri sono il punto di riferimento tecnico per chiunque voglia capire EF Core in profondita. Li cito perche la documentazione Microsoft spiega il come, ma i libri di Lerman spiegano il perche: le scelte di design, i compromessi, i pattern avanzati e le trappole comuni. Fondamentale per chi fa data-intensive development in .NET.

Domande frequenti

Entity Framework Core e la scelta giusta per applicazioni CRUD standard, quando vuoi migrazioni gestite, change tracking automatico e query costruite con LINQ. Dapper e preferibile per query complesse, report su grandi volumi di dati, stored procedure esistenti o quando il controllo sul SQL generato e critico per le performance. In molte applicazioni enterprise si usano entrambi: EF Core per le operazioni standard, Dapper per le query analitiche.

Le migrations sono snapshot incrementali dello schema del database generati da EF Core a partire dal modello C#. Ogni migration descrive le differenze rispetto allo stato precedente e contiene il codice per applicare e annullare la modifica. Permettono di evolvere lo schema in modo versionato e reversibile, applicabile via CLI (dotnet ef database update) o automaticamente all'avvio dell'applicazione.

Le ottimizzazioni piu impattanti sono: usare AsNoTracking per le query di sola lettura, proiettare solo le colonne necessarie con Select invece di caricare l'intera entita, evitare il problema N+1 con Include o query split, e usare query raw SQL via FromSqlRaw per i casi complessi. Application Insights o EF Core logging aiutano a individuare le query lente in produzione.

SQL Server e la scelta naturale per applicazioni enterprise che girano su Azure o Windows con integrazione Microsoft completa. PostgreSQL e preferito in contesti open source, Linux o cloud multi-vendor per le sue performance e la ricchezza di tipi. Cosmos DB e adatto a dati non strutturati, scale globale e throughput elevato. La scelta dipende dal tipo di dati, dal cloud provider e dai requisiti di scalabilita.