Quando lavoriamo con SQL Server Compact 4.0 e Entity Framework dobbiamo tenere a mente alcune limitazioni derivanti dall'uso contemporaneo di queste tecnologie.
Entity Framework permette di avere entity con una proprietà che mappa su un campo di una tabella il cui valore è generato dal database. Con SQL Server Compact, solo i campi Identity sono supportati, la generazione lato server di GUID non è supportata quindi le nostre entity non devono contare su questa feature.
SQL Server Compact non supporta l'impostazione del timeout tramite Entity Framework. Se impostiamo la proprietà QueryTimeout dell'ObjectContext o CommandTimeout dell'EntityCommand su un valore diverso da 0, non otteniamo nessun errore in fase di compilazione, ma SQL Server Compact lancia un'eccezione a run time.
//Compilazione ma ritorna eccezione a run time ctx.QueryTimeout = 15;
Entity Framework supporta stringhe sia Unicode che non-Unicode. SQL Server Compact supporta solo stringhe Unicode.
L'ultima limitazione da evidenziare è che SQL Server Compact non supporta le Full Outer Join. Anche se LINQ to Entities non ci permette di specificare Full Outer Join, Entity SQL ce lo permette. Nel caso in cui ricorriamo alle Full Outer Join, SQL Server Compact lancia un'eccezione a run time.
Riferimenti utili
Dite addio ad Access con SQL Server Compact 4.0 (speciale)https://www.aspitalia.com/focuson/1207/Dite-Addio-Access-SQL-Server-Compact-4.0.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Ridurre il reflow cambiando il CSS
Mischiare codice server side e client side in una query LINQ con Entity Framework
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Anonimizzare i dati sensibili nei log di Azure Front Door
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare una qualunque lista per i parametri di tipo params in C#
Controllare la telemetria con .NET Aspire
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Definire il metodo di rilascio in .NET Aspire
Configurare OpenAI in .NET Aspire
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform


