i migliori siti del web italiano
TopItalia.org è una directory gratuita che vi consente di inserire infiniti siti internet per aumentare le vostre visite e il vostro pagerank. Prima di inviarci un link vi invitiamo a consultare la pagina info e i Termini del servizio. Solo i siti di qualità verranno approvati. Un link reciproco alla directory (essenziale per il pagerank) è gradito, ma non obbligatorio.
simpleblog RSS feedAn RSS feed for SimpleblogSottoscrivi: RSS | Bloglines | Google Reader | My MSN | Netvibes | Newsgator | Odeo | Rojo | My Yahoo! Utilizzare LINQ con Visual Web Developer Express 2008
IntroduzioneL'articolo illustra tutti i passi necessari per integrare LINQ in un progetto creato con Visual Web Developer Express 2008. Si concentra in particolar modo su "LINQ To SQL", implementazione del .NET Framework che consente di creare e mappare tramite l'utilizzo di classi il Data Access Layer per l'accesso alla base dati. Requisiti Tutti i software qui elencati sono gratuiti. Microsoft Visual Web Developer 2008 Express. Link: http://www.microsoft.com/express/download/ Microsoft SQL Server 2005 Express. Link: http://www.microsoft.com/express/sql/download/default.aspx Microsoft SQL Server Management Studio Express (facoltativo). Link: http://www.microsoft.com/express/sql/download/default.aspx Subsonic (versione attuale: 2.1.0 beta 2). Link: http://www.codeplex.com/subsonic/Release/ProjectReleases.aspx?ReleaseId=5636 Codice di esempio allegato E' possible scaricare a questo link il codice di esempio allegato all'articolo. Creazione del dbml Con l'introduzione di LINQ nel .NET Framework Microsoft ha messo a disposizione dell'utente un tool a riga di comando che consente di creare il dbml (file intermedio per la customizzazione del database) e il file di mapping senza dover necessariamente utilizzare la versione Professional di Visual Studio 2008. Si tratta del file "SqlMetal.exe", presente nella cartella "C:\Programmi\Microsoft SDKs\Windows\v6.0A\bin". Partiamo da una semplice base dati: ![]() Assicuriamoci che il nostro database sia presente tra quelli in elenco mostrati su SQL Server Management Studio Express (vedi fig. 2): ![]() Da console (cmd) posizioniamoci nella cartella "C:\Programmi\Microsoft SDKs\Windows\v6.0A\bin" e digitiamo il seguente comando: sqlmetal /server:.\SQLEXPRESS /database:ss_ita_demo /dbml:linqdemo.dbml /namespace:linqdemo A seguito del commando viene creato il file intermedio linqdemo.dbml nella stessa cartella del tool "sqlmetal". Preleviamo con operazione di copia/incolla il suddetto file dbml e spostiamolo nella cartella "App_code" del nostro progetto creato con Visual Web Developer Express 2008. Creazione del mapping dal dbml Apriamo il nostro progetto con VWD Express 2008 e nel riquardo "Solution Explorer" individuiamo il file "linqdemo.dbml", presente nella cartella "App_code". Apriamolo col doppio click e nel riquadro che mostra tabelle e vincoli clicchiamo col destro in una zona vuota (fig. 3) e scegliamo la voce "Proprietà" dal menu contestuale. ![]() Nel riquadro "Properties" individuiamo la voce "Connection" e assegniamo il valore "ss_ita_demo.mdf" presente nel menu a cascata. Salviamo la modifica apportata al file linqdemo.dbml. Fatto questo, nel riquadro "Solution Explorer" clicchiamo col destro sul file "linqdemo.dbml" e scegliamo la voce "Run custom tool". Il nostro file di mapping è adesso pronto per l'utilizzo. Inclusione nel progetto della dll di LINQ Perché tutto funzioni è necessario inserire nel progetto il riferimento alla DLL "System.Data.Linq". Nel riquadro "Solution Explorer" cliccare col destro sulla radice del progetto (prima riga) e dal menu contestuale scegliere la voce "Add reference". Selezionare il file "System.Data.Linq" e confermare la scelta. Vediamo adesso un po' di codice. Un primo esempio: LINQ all'opera Ecco un esempio di inserimento dati: linqdemo.Ss_ita_demo insdb = new linqdemo.Ss_ita_demo(); prodToIns.Descrizione = tbDescr.Text; insdb.Prodotti.InsertOnSubmit(prodToIns); Il codice è estremamente lineare: si creano l'oggetto database e l'oggetto che si riferisce alla tabella su cui inserire il dato; si valorizzano le opportune proprietà e poi si lancia il comando che si occupa di salvare i dati come record nella tabella a cui l'oggetto fa riferimento. Vediamo adesso un esempio di cancellazione dati: linqdemo.Ss_ita_demo deldb = new linqdemo.Ss_ita_demo(); deldb.Prodotti.DeleteAllOnSubmit(del_prodotti); In questo caso viene creata una vera e propria interrogazione, che consente di individuare univocamente il record da eliminare. Fatto questo, si utilizza il metodo dell'oggetto relativo all'eliminazione dati, e il gioco è fatto. La modifica è simile all'inserimento, ma prevede un'estrazione preliminare dei dati che vengono mostrati a video nelle relative caselle di testo. Per un esempio completo ed esaustivo si raccomanda di fare riferimento al progetto di esempio allegato. Conclusioni L'articolo ha voluto dimostrare come sia estremamente semplice includere LINQ in una web application creata con la versione Express di Visual Studio (quindi a costo zero), e come sia altrettanto immediato l'utilizzo dello stesso per interagire con la base dati. Inserimento, modifica e cancellazione di un record
IntroduzioneL'articolo mostra il codice che consente di effettuare l'inserimento, la modifica e la cancellazione di un dato in una tabella. Requisiti Tutti i software qui elencati sono gratuiti. Microsoft Visual Web Developer 2008 Express (va bene anche la versione 2005). Link: http://www.microsoft.com/express/download/ Microsoft SQL Server 2005 Express. Link: http://www.microsoft.com/express/sql/download/default.aspx Microsoft SQL Server Management Studio Express (facoltativo). Link: http://www.microsoft.com/express/sql/download/default.aspx Subsonic (versione attuale: 2.1.0 beta). Link: http://www.codeplex.com/subsonic/Release/ProjectReleases.aspx?ReleaseId=10395 Codice di esempio allegato E' possible scaricare a questo link il codice di esempio allegato all'articolo. Inserimento Fig. 1: ![]() Utilizziamo la tabella dei prodotti (vedi diagramma in fig. 1) e procediamo con l'inserimento di un nuovo record. Tramite il pulsante di inserimento presente nella pagina principale (default.aspx) veniamo reindirizzati alla form di inserimento dati. Una volta valorizzate le caselle di testo, è sufficiente selezionare il pulsante "salva" per effettuare l'inserimento delle informazioni sul database. Ecco il codice associato al pulsante di salvataggio: ss_ita_demo.Prodotti prodIns = new ss_ita_demo.Prodotti(); Modifica In questo caso l'idea è di associare un pulsante di modifica dato ad ogni record della nostra griglia. Una volta selezionato il record che si vuole modificare, la procedura ci reindirizza alla pagina di modifica con le caselle di testo già valorizzate con i dati del nostro record. Una volta apportate le opportune modifiche, è sufficiente selezionare il pulsante "Salva" perché siano realmente applicate sul database. Ecco il codice che consente di applicare le modifiche: ss_ita_demo.Prodotti prodMod = ss_ita_demo.Prodotti.FetchByID(idprod); Cancellazione L'operazione di cancellazione viene eseguita per comodità tramite un apposito pulsante presente in griglia. Ecco il codice di esempio: Query qryDelete = new Query(ss_ita_demo.Prodotti.Schema); Conclusioni In questo articolo abbiamo potuto apprezzare la semplicità di utilizzo delle funzioni di manipolazione dei dati che Subsonic mette a disposizione. Un po' di codice: l'oggetto Query
IntroduzioneIn quest'articolo esamineremo l'oggetto Query, che ci consentirà di risolvere la quasi totalità di necessità relative alle interrogazioni sui dati. Requisiti Tutti i software qui elencati sono gratuiti. Microsoft Visual Web Developer 2008 Express (va bene anche la versione 2005). Link: http://www.microsoft.com/express/download/ Microsoft SQL Server 2005 Express. Link: http://www.microsoft.com/express/sql/download/default.aspx Microsoft SQL Server Management Studio Express (facoltativo). Link: http://www.microsoft.com/express/sql/download/default.aspx Subsonic (versione attuale: 2.1.0 beta 1). Link: http://www.codeplex.com/subsonic/Release/ProjectReleases.aspx?ReleaseId=10395 Codice di esempio allegato E' possible scaricare a questo link il codice di esempio allegato all'articolo. Premessa Fino alla versione 2.0.3 Subsonic non supporta le join tra tabelle. Ok, niente panico. Questa caratteristica (assieme a molte altre) è supportata a partire dalla versione 2.1, attualmente ancora in beta. Per il momento tralasceremo queste nuove funzionalità, che saranno oggetto di discussione di un prossimo articolo. Creazione dell'oggetto Query Per la creazione dinamica di costrutti SQL per interrogare la base dati Subsonic mette a disposizione l'oggetto Query. Per la creazione dell'oggetto è fornito il metodo "CreateQuery". Ecco un esempio: Subsonic.Query QDati = Ordini.CreateQuery(); Subsonic.Query QDati = new Subsonic.Query(Ordini.TableName); Subsonic.Query QDati = new Subsonic.Query(Ordini.GetTableSchema()); Esecuzione dell'oggetto Query Il metodo "Execute" consente di eseguire la query e non restituisce nulla: QDati.Execute(); Il metodo "ExecuteDataset" restituisce un dataset: GridView1.DataSource = QDati.ExecuteDataset(); Il metodo "ExecuteReader" restituisce un datareader: GridView1.DataSource = QDati.ExecuteReader(); Il metodo "ExecuteScalar" restituisce un singolo valore: Label1.Text = QDati.ExecuteScalar().ToString(); Filtri e ordinamenti La proprietà "SelectList" è utilizzata per limitare il numero di campi da considerare nell'estrazione dei dati. Vediamo la struttura delle tabelle: ![]() Ecco un esempio di utilizzo della "SelectList": myQuery.SelectList = ss_ita_demo.Prodotti.Columns.Descrizione + "," + ss_ita_demo.Prodotti.Columns.UnitsInStock; Il metodo "AddWhere" consente di inserire una condizione nella query. Vediamo un esempio di utilizzo: myQuery.AddWhere(ss_ita_demo.Prodotti.Columns.UnitsInStock, SubSonic.Comparison.Equals, 300); Allo stesso modo possiamo utilizzare il metodo "AddBetweenValues" per estrarre i dati che rientrano in un determinato intervallo: myQuery.AddBetweenValues(ss_ita_demo.Prodotti.Columns.UnitsInStock, 200, 300); Risulta altrettanto semplice assegnare un ordinamento tramite il metodo "OrderBy". Ordinamento ascendente: myQuery.OrderBy = SubSonic.OrderBy.Asc(ss_ita_demo.Prodotti.Columns.Descrizione); Ordinamento discendente: myQuery.OrderBy = SubSonic.OrderBy.Desc(ss_ita_demo.Prodotti.Columns.Descrizione); Per limitare il numero di record che la query restituisce esiste la proprietà "Top". Ecco un esempio: myQuery.Top = "5"; E' possibile gestire la paginazione tramite le proprietà "PageIndex" e "PageSize". Un esempio di utilizzo è riportato nel codice allegato all'articolo. Nel caso specifico, è stato creato un vero e proprio controllo che estende la GridView integrando la paginazione con tutti i pulsanti e le indicazioni necessarie. Funzionalità particolari Il metodo dell'oggetto query "GetCount"consente di ottenere il numero di record estratti. Ecco un esempio di utilizzo: int num = myQuery.GetCount(ss_ita_demo.Prodotti.Columns.Descrizione); Il metodo "GetSql" consente di mostrare a video l'istruzione SQL utilizzata dalla query per estrarre i dati. Ecco un esempio: lDati.Text = myQuery.GetSql(); Conclusioni In questo articolo abbiamo visto l'utilizzo dell'oggetto Query come strumento per effettuare interrogazioni sui dati. In futuro, non appena la versione 2.1 di Subsonic uscirà dalla fase di beta, verrà rilasciato un articolo con le nuove caratteristiche dell'oggetto Query. Novità dell'oggetto Scaffold in Subsonic 2.1
Ecco un elenco delle modifiche e nuove funzionalità dell'oggetto Scaffold nella nuova versione di Subsonic.ScaffoldType Adesso l'AutoScaffold è una modalità del controllo stesso, e viene attivato settando ad "Auto" la proprietà ScaffoldType (il default è "Normal"). Se la proprietà è impostata su "Auto", lo scaffold aggiunge due nuovi menu a cascata che consentono di selezionare il provider e la classe desiderati. AutoGenerateManyToMany Questa proprietà, impostata automaticamente a "true", consente di generare automaticamente i controlli per le relazioni "many to many" in basso, sotto la form di edit. Se questa modalità risulta troppo permissiva nelle tecniche di identificazione delle tabelle correlate, è sempre possibile tornare ad utilizzare il vecchio approccio. UseEmbeddedStyles Senza alcuno stile applicato, lo scaffold è oggettivamente brutto esteticamente. Se si imposta la proprietà UseEmbeddedStyles a "true", lo scaffold genera dinamicamente a runtime uno stile che lo rende più gradevole. Ecco un esempio: ![]() DropDownCssClass, CheckBoxCssClass E' adesso possible legare una classe CSS ai controlli DropDown e CheckBox presenti all'interno dello scaffold. Updated CRUD Operations Con questa versione lo scaffold utilizza l'oggetto query per tutte le operazioni "CRUD", migliorando l'efficacia e le prestazioni delle stesse. Un webcast per SubStage
E' stato pubblicato il primo webcast che illustra le funzionalità di SubStage, il tool allegato a Subsonic 2.1 beta 1 che consente di gestire in maniera visuale e con pochi click del mouse tutti gli aspetti di una web application in asp.net.Ovviamente è da non perdere. Ecco il link: http://monk.thelonio.us/content/substage1/SubStage.swf Rilasciata la prima beta della versione 2.1 di Subsonic
E' stata finalmente rilasciata la beta 1 di Subsonic 2.1. Oltre alle innumerevoli correzioni di bug vanno evidenziate due novità significative: la rivisitazione dell'oggetto Query e il nuovo tool SubStage. E' possibile scaricarla a questo link. Il nuovo oggetto Query L'obiettivo della rivisitazione era ottenere un oggetto che consentisse di semplificare al massimo e nel contempo rendere estremamente intuitivo l'inserimento di codice SQL. Vediamo un esempio di utilizzo: Northwind.CustomerCollection customersByCategory = new Select() .From<Northwind.Customer>() .InnerJoin<Northwind.Order>() .InnerJoin(Northwind.OrderDetail.OrderIDColumn, Northwind.Order.OrderIDColumn) .InnerJoin(Northwind.Product.ProductIDColumn, Northwind.OrderDetail.ProductIDColumn) .Where("CategoryID").IsEqualTo(5) .ExecuteAsCollection<Northwind.CustomerCollection>(); Ecco di seguito un paio di link a pagine in cui vengono descritte le nuove funzionalità dell'oggetto Query. Primo link. Secondo link. Un nuovo tool: SubStage Ecco uno strumento che velocizzerà ancora di più la creazione dei nostril progetti. Si tratta di un programmino che consente di importare o creare un progetto e gestirlo attraverso tutte le sue fasi in una GUI e con pochi click del mouse. Vediamo uno screenshot: ![]() Ecco un elenco delle sue funzionalità: - importazione di un progetto esistente; - il vantaggio di laforare con una GUI; - la possibilità di validare il DB secondo determinate condizioni; - vedere gli oggetti attraverso Table o Class View; - generazione del DAL utilizzando SubStage; - la possibilità di gestire i dati grazie all'oggetto autoscaffold. Conclusioni Le nuove caratteristiche dell'oggetto Query sono molto interessanti, e saranno approfondite in un prossimo articolo. Il tool SubStage promette molto, e potrebbe essere un'ulteriore spinta all'utilizzo di Subsonic da parte degli sviluppatori asp.net. Generazione del DAL tramite tool a riga di comando
IntroduzioneIn quest’articolo vedremo come generare il data access layer definitivamente, una volta consolidata la base dati. Nei precedenti articoli la creazione del DAL veniva affidata ad un build provider, ed avveniva automaticamente all’atto della compilazione ed esecuzione del progetto. In un ambito “reale” (immaginiamo una web application installata su un web server e pronta per l’utilizzo) un approccio del genere non è funzionale. Pertanto è necessario generare un’unica volta e in maniera definitiva tutte le classi che compongono il DAL prima del deployment del progetto. Requisiti Tutti i software qui elencati sono gratuiti. Microsoft Visual Web Developer 2008 Express (va bene anche la versione 2005). Link: http://www.microsoft.com/express/download/ Microsoft SQL Server 2005 Express. Link: http://www.microsoft.com/express/sql/download/default.aspx Microsoft SQL Server Management Studio Express (facoltativo). Link: http://www.microsoft.com/express/sql/download/default.aspx Subsonic (versione attuale: 2.0.3). Link: http://www.codeplex.com/subsonic/Release/ProjectReleases.aspx?ReleaseId=5177 Codice di esempio allegato E’ possible scaricare a questo link il codice di esempio allegato all’articolo. Generazione del Data Access Layer Una volta installato Subsonic, possiamo notare che nella sottocartella “Subcommander” è presente il file “sonic.exe” un tool pilotabile da riga di comando che si occupa di interrogare la base dati e da essa costruire i file del DAL in c sharp o visual basic.net. Innanzitutto bisogna assicurarsi che esista una connessione al database. Per fare ciò lanciamo SQL Server Management Studio Express e assicuriamoci che il nostro database sia presente tra quelli in elenco. Fatto ciò, possiamo passare alla generazione del DAL tramite l’utilizzo del comando “sonic”. Apriamo una finestra per digitare comandi da console (Start – Esegui – cmd), spostiamoci all’interno della cartella “subcommander” (ad esempio utilizzando il comando “cd c:\programmi\subsonic\sub203\subcommander”) e digitiamo il seguente comando: sonic generate /server .\SQLEXPRESS /db ss_art1_demo /out c:\tmp\aa_gen Ecco un esempio di utilizzo del comando con il risultato ottenuto: ![]() Nella cartella indicata al percorso che segue il parametro "/out" sono adesso presenti i file che compongono il nostro layer di accesso ai dati. Questi vanno copiati all’interno della cartella "App_code" del nostro progetto. In alternativa, si esegue il comando indicando come output proprio questa cartella. Soffermiamoci adesso ad esaminare i parametri del comando: - "/server": indica il nome del server attraverso il quale connettersi al database per leggerne la struttura; - "/db": serve a specificare il nome del database a cui connettersi; - "/out": indica il percorso di destinazione dei file che verranno generati; Parametri aggiuntivi: - "/lang": indica il linguaggio utilizzato per le classi del DAL: cs (C Sharp) o vb (Visual Basic.net); se si omette il parametro, il default è il C Sharp; basta aggiungere "/lang vb" per ottenere le classi in Visual Basic.net; - "/config": utilizzato per indicare il percorso del file "web.config" del nostro progetto, in modo che vengano presi da lì i dati necessari per la connessione al database; Lo strumento presenta diverse caratteristiche, come la possibilità di scegliere se generare solamente le classi per le tabelle, per le stored procedures, o quelle dell’objectdatasource. Per ottenere la lista completa dei parametri e un esempio di utilizzo, è sufficiente digitare il solo comando "sonic" senza alcun parametro. Utilizzi particolari Una caratteristica decisamente interessante è la possibilità di estrarre lo schema dell’intero database in un unico file sql. Per fare ciò è sufficiente sostituire il parametro "generate" con "script schema". Ecco di seguito un esempio: ![]() Ultimi accorgimenti Una volta generato il DAL e aggiunte le classi al progetto, non è più necessario mantenere la funzionalità di generazione automatica. Innanzitutot va rimosso il build provider dal file web.config. Apriamo il file, individuiamo la sezione ed eliminiamola o commentiamola (vedi figura seguente). ![]() Eliminiamo adesso il file "builder.abp" dalla cartella "App_code" e ricompiliamo il progetto. Eseguiamolo e noteremo una maggiore velocità all’avvio, dovuta al fatto che adesso il DAL non viene più rigenerato. Conclusioni Con questo articolo abbiamo acquisito padronanza del tool di generazione del data access layer, un passo decisamente importante per raggiungere l’obiettivo definitivo di pubblicare una web application su Internet. Scaffolding: il tool "auto-magico" per la gestione dei dati
IntroduzioneIn quest'articolo verrà mostrato un oggetto che velocizza enormemente la creazione di maschere di gestione dei dati, e più precisamente le fasi di visualizzazione, inserimento, modifica e cancellazione. L'oggetto in questione è denominato "Scaffold", ed implementa tutte le suddette operazioni con una sola chiamata all'interno della pagina aspx. Il termine "scaffolding" proviene da Ruby on Rails, ed identifica un set di pagine "CRUD" (Create, Retrieve, Update and Delete) per la manipolazione dei dati di un database. Requisiti Tutti i software qui elencati sono gratuiti. Microsoft Visual Web Developer 2008 Express (va bene anche la versione 2005). Link: http://www.microsoft.com/express/download/ Microsoft SQL Server 2005 Express. Link: http://www.microsoft.com/express/sql/download/default.aspx Microsoft SQL Server Management Studio Express (facoltativo). Link: http://www.microsoft.com/express/sql/download/default.aspx Subsonic (versione attuale: 2.0.3). Link: http://www.codeplex.com/subsonic/Release/ProjectReleases.aspx?ReleaseId=5177 Codice di esempio allegato E' possible scaricare a questo link il codice di esempio allegato all'articolo. Creazione e utilizzo dell'oggetto Scaffold Per il nostro esempio verrà utilizzato lo "scheletro" di progetto creato nel precedente articolo. Innanzitutto bisogna creare una cartella denominata "admin". Questa conterrà le pagine di "amministrazione" del nostro software gestionale. Posizioniamoci sulla cartella "admin" e creiamo una nuova pagina, "prodotti.aspx". Andiamo sul codice, e all'interno del tag FORM inseriamo: <subsonic:Scaffold id="scProdotti" runat="server" Abbiamo visto l'oggetto Scaffold nel suo utilizzo più semplice. Vediamo adesso cosa succede se ci troviamo in presenza di campi di tipo data/ora, e di chiavi esterne ad altre tabelle. Nella cartella "admin" creiamo una nuova pagina, "ordini.aspx". All'interno del tag FORM inseriamo il seguente codice: <subsonic:Scaffold id="scOrdini" runat="server" Personalizzazione dello Scaffold Allo stato attuale l'oggetto offre possibilità di personalizzazione molto limitate. Quest'aspetto dovrebbe essere migliorato con la nuova versione di Subsonic, la 2.1, di imminente uscita. Ovviamente la questione sarà approfondita in un prossimo articolo. Autoscaffolding All'interno del sito fornito come starter kit assieme a Subsonic è presente una unit denominata "autoscaffold.aspx". Copiamo questo file e "autoscaffold.aspx.cs" dentro la cartella "admin" del nostro progetto, ed apportiamo qualche modifica per renderlo funzionante: - copiamo il file "BasePage.cs" dalla cartella "App_Code" dello starter kit alla stessa del nostro progetto; - creiamo un nuovo file di tipo master page dandole nome "site.master"; - creiamo un nuovo file di tipo skin denominato "Default.skin". Eseguiamo adesso il progetto ed apriamo la pagina "autoscaffold.aspx". Vedremo l'elenco di tutte le tabelle della nostra base dati e per ognuna di esse verrà creata "on the fly" la pagina CRUD pronta per l'uso. Conclusioni Questo articolo ha dimostrato come Subsonic metta a disposizione uno strumento estremamente potente (quasi "magico") per la creazione istantanea di pagine di amministrazione di un'intera base dati. E forse, con la nuova versione dello Scaffold, di un'intera web application. Ma questa è un'altra storia. Installazione e creazione di una Web Application in ASP.NET con Subsonic integrato
IntroduzioneUno dei migliori sistemi per gestire un’applicazione è quello di progettarla mantenendo separati i tre livelli: interface layer, business layer e data access layer. Questa tecnica consente un’efficace e veloce gestione e manutenzione di tutto il progetto. Creare un data access layer richiede generalmente parecchio tempo e molto impegno, ed è qui che ci viene in aiuto Subsonic. Subsonic è un “data layer builder”, un’applicazione che si occupa di creare automaticamente il data access layer sulla base della struttura del database. E’ inoltre uno strumento automatico di object-relational mapping (ORM), e queste sue caratteristiche lo rendono un’eccellente soluzione per creare velocemente e con poco sforzo delle web application in asp.net. Requisiti Tutti i software qui elencati sono gratuiti. Microsoft Visual Web Developer 2008 Express (va bene anche la versione 2005). Link: http://www.microsoft.com/express/download/ Microsoft SQL Server 2005 Express. Link: http://www.microsoft.com/express/sql/download/default.aspx Microsoft SQL Server Management Studio Express (facoltativo). Link: http://www.microsoft.com/express/sql/download/default.aspx Subsonic (versione attuale: 2.0.3). Link: http://www.codeplex.com/subsonic/Release/ProjectReleases.aspx?ReleaseId=5177 Codice di esempio allegato E’ possible scaricare a questo link il codice di esempio allegato all’articolo. Installazione di Subsonic Il primo passo è quello di effettuare il download e l’installazione di Subsonic. Nella cartella “C:\Programmi\Subsonic\Sub203” sarà presente il file “subsonic.dll” che utilizzeremo di seguito come risorsa del nostro progetto. Creazione di un progetto Eseguire Visual Web Developer 2008 Express e creare un nuovo progetto (File – New Web Site). Scegliere il C Sharp come linguaggio e dare un nome al progetto. Nella sezione “Solution Explorer” cliccare col pulsante destro sulla cartella principale del progetto e selezionare la voce di menu “Add ASP.NET Folder - Bin”. Copiare nella cartella “Bin” il file “subsonic.dll” presente al percorso “C:\Programmi\Subsonic\Sub203”. Se si sta utilizzando il Visual Web Developer versione 2008, modificare le impostazioni di progetto in modo da renderlo compatibile con la versione 2.0 del .NET Framework: selezionare la voce di menu “Web site – Start options”, e nella finestra che appare scegliere il tab Build. Qui indicare come target frame work la versione 2.0 del .NET Framework. Effettuare la build del progetto ed eventualmente eliminare i riferimenti a namespace non utilizzati. Creazione della base dati Per la creazione della base dati il consiglio è di utilizzare lo strumento SQL Server Management Studio Express. La procedura di creazione di un database non sarà oggetto di quest’articolo; è comunque incluso un db già pronto per l’uso nel codice di esempio allegato. Ecco di seguito le due tabelle che costituiscono la nostra base dati: ![]() Modifiche al web.config Subsonic richiede un minimo di intervento nel file di configurazione per potersi integrare nell’applicazione. Ecco cosa bisogna inserire nel file web.config: - almeno una connection string; - un section handler a Subsonic; - un link tra la connection string e le classi di Subsonic; - il tag prefix per accedere agli oggetti che Subsonic mette a disposizione. Ecco di seguito un esempio di dati da inserire nelle apposite sezioni del nostro web.config: <configuration> Subsonic fornisce un’utility che si occupa di creare automaticamente tutte le classi del data access layer. Una volta creati, questi file vanno inseriti in un’apposita sezione della cartella “App_code”. In alternativa, e soprattutto se si è costretti ad apportare continue modifiche alla base dati, è possibile creare un build provider che si occupa della creazione del data access layer “on the fly” all’atto della compilazione della web appication. Nel nostro esempio implementeremo la seconda soluzione. Il primo passo è quello di inserire le informazioni relative al build provider nell’apposita sezione del web.config: <compilation debug="true"> Creazione delle pagine di visualizzazione dei dati Nel Solution Explorer fare doppio click sul file “Default.aspx”. Questo verrà mostrato nell’editor del codice. Se la pagina viene mostrata in modalità “Design”, spostarsi sulla modalità “Source” ed inserire il seguente codice dentro il tag “body”: <form id="form1" runat="server"> Eseguire il progetto. Verrà mostrata una griglia con tutto il contenuto della nostra tabella “products”, con un massimo di dieci record per pagina. L’oggetto QuickTable è uno di quelli che Subsonic mette a disposizione, e consente di mostrare a video determinate informazioni con estrema semplicità. L’oggetto in questione sarà trattato in maniera più approfondita in uno dei prossimi tutorial. Nuovi articoli in preparazione
E' in preparazione una serie di articoli che guida lo sviluppatore passo-passo dalla creazione dello scheletro di un progetto fino agli utilizzi più complessi di tabelle e gestioni particolari (master/dettaglio e altro).Il sito sarà aggiornato periodicamente. Seguiteci e lasciate le vostre impressioni sul forum. Benvenuto sul sito di risorse dedicato a Subsonic.
Benvenuto sul sito dedicato a Subsonic. Qui troverai articoli, news, tips e altro ancora su tutto ciò che ruota attorno a questo interessantissimo software.
Non ci sono commenti
| |||||||||||||||||||||||||||||||||









