Utilizzare SQL Server Compact 4.0 in un'applicazione ASP.NET

di Marco De Sanctis, in ASP.NET 4.0,

SQL Server Compact 4.0 è un database engine gratuito, realizzato da Microsoft, che per funzionare non richiede alcun tipo di installazione, se non la copia dei relativi assembly nella cartella \bin della nostra applicazione. Ciò lo rende la soluzione ideale in tutte quelle situazioni in cui non abbiamo un controllo totale dell'ambiente di deploy, come nel caso di siti web installati su shared hosting, in cui è in grado di svolgere egregiamente i propri compiti anche in scenari di medium trust. Come detto, SQL Server Compact 4.0 non è basato su un'architettura client-server, ma su una serie di librerie, eseguite all'interno dello stesso processo ASP.NET a cui appartiene l'applicazione, che vengono caricate in memoria in corrispondenza del primo accesso alla base dati.

Il supporto in Visual Studio 2010 verrà aggiunto nel prossimo Service Pack 1, atteso per la prima metà dell'anno, ma già con l'attuale versione Beta possiamo iniziare a sfruttare SQL Server Compact 4.0 come engine di database. I download necessari sono i seguenti:

  • Le librerie di SQL Server Compact 4.0, che possono essere installate tramite Web Platform Installer, che si preoccupa anche della necessità di eventuali dipendenze;
  • il già citato Visual Studio 2010 SP1 (beta), disponibile all'indirizzo http://u.aspitalia.com/su;
  • SQL CE Tools for Visual Studio, disponibili all'indirizzo http://u.aspitalia.com/sv

Dopo aver provveduto ad installare queste componenti, siamo pronti ad aggiungere un nuovo database al progetto, e nello specifico all'interno della cartella AppData, utilizzando il nuovo template SQL Server Compact 4.0 Local Database.


Oltre a creare il file di database, Visual Studio 2010 si preoccuperà anche di aggiungere le oppurtune reference al nostro progetto, così che l'utilizzo di SQL Server Compact 4.0 risulti del tutto trasparente. Il database appena creato può essere modellato direttamente tramite Visual Studio 2010, facendo doppio click sul file, e sfruttando così i tool di accesso alla base dati per creare le tabelle o impostare indici e vincoli di foreing key.

Una volta che il nostro schema è pronto, possiamo ad esempio importarlo in un Entity Data Model per gestirlo tramite Entity Framework:


A questo punto non ci resta che interfacciarci con Entity Framework dalle nostre pagine, ad esempio sfruttando una EntityDataSource, in maniera del tutto analoga a quando utilizziamo i "fratelli maggiori" SQL Server Express Edition o SQL Server:

<asp:EntityDataSource ID="CustomerDataSource" runat="server" 
    ConnectionString="name=TestDatabaseEntities" 
    DefaultContainerName="TestDatabaseEntities" EnableFlattening="False" 
    EntitySetName="Customers">
</asp:EntityDataSource>

Bastano questi pochi passi per ottenere un'applicazione già funzionante e immediatamente distribuibile sui server di produzione. Nel prossimo script vedremo quali sono gli accorgimenti necessari e gli assembly da includere in fase di deploy.

UPDATE

Tutti i componenti necessari per l'utilizzo di SQL Server Compact 4.0 con Visual Studio 2010 sono disponibili tramite Microsoft Web Platform Installer.
http://www.microsoft.com/web/downloads/platform.aspx

In particolare, oltre al citato Visual Studio 2010 Service Pack 1, è richiesta l'installazione dei pacchetti:

  • Microsoft SQL Server Compact 4.0
  • Microsoft Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi