
Entity Framework Core avanzato
Raw SQL, stored procedures, transazioni, AsNoTracking, AsSplitQuery, query tags, interceptors, ottimizzazione delle prestazioni
1Come eseguire una query SQL grezza per recuperare entità in EF Core?
Come eseguire una query SQL grezza per recuperare entità in EF Core?
Risposta
Il metodo FromSql() o FromSqlRaw() consente di eseguire query SQL grezze restituendo entità tracciate dal DbContext. Questo è utile negli scenari in cui LINQ non può esprimere la query direttamente, come la chiamata di stored procedures o funzioni con valori di tabella. I risultati possono quindi essere composti con LINQ per aggiungere filtri o includere relazioni.
2Qual è la differenza tra FromSqlRaw() ed ExecuteSqlRaw() in EF Core?
Qual è la differenza tra FromSqlRaw() ed ExecuteSqlRaw() in EF Core?
Risposta
FromSqlRaw() viene utilizzato per eseguire query SELECT che restituiscono entità tracciate, consentendo la composizione con LINQ. ExecuteSqlRaw() viene utilizzato per eseguire comandi non-query (INSERT, UPDATE, DELETE) e restituisce il numero di righe interessate. FromSqlRaw() si applica a un DbSet, mentre ExecuteSqlRaw() si applica a Database. Questa distinzione garantisce la sicurezza dei tipi e la coerenza del modello.
3Come chiamare uno stored procedure che restituisce entità in EF Core?
Come chiamare uno stored procedure che restituisce entità in EF Core?
Risposta
Usa FromSqlRaw() o Database.SqlQuery<T>() per chiamare uno stored procedure e mappare i risultati su entità. È fondamentale aggiungere AsEnumerable() dopo la chiamata per impedire a EF Core di tentare di comporre sui risultati dello stored procedure, il che causerebbe errori di sintassi SQL. I parametri possono essere passati usando la sintassi @p0, @p1 per prevenire l'iniezione SQL.
Qual è il ruolo di AsNoTracking() in EF Core?
Quando usare AsNoTrackingWithIdentityResolution() invece di AsNoTracking()?
+22 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializzazione JSON
Funzionalità avanzate di C#
Clean Architecture
Logging, Monitoring & Observability
Test unitari & xUnit
Test di integrazione
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Programmazione reattiva
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Architettura a Microservizi
Padroneggia .NET per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis