Posts
166
Comments
255
Trackbacks
1
giovedì 18 marzo 2010
Una scelta importante…

 

Riavviata la macchina…bisogna prendere una decisione…

image

image

posted @ giovedì 18 marzo 2010 11.14 | Feedback (2)
venerdì 26 febbraio 2010
[OT] Piccole grandi soddisfazioni…

 

A lavoro abbiamo iniziato un ciclo di seminari interni di due ore circa, sulle nuove e vecchie tecnologie. Oggi è toccato a me, e ho presentato alcune delle novità della nuova versione dell’ Entity Framework. Non ho avuto il tempo, o meglio non ho voluto, parlare di Unit Of Work e Repository Pattern, ma dovrei parlarne nel secondo giro. L’argomento ha suscitato notevole interesse e anche la presentazione è andata bene. Peccato non aver fatto una foto o una registrazione. Oltre ai miei colleghi, l’incontro è servito a me per capire il mio livello di comprensione e di esposizione. Penso che dopo lo studio e la pratica sia necessario il confronto.

Technorati Tag:
posted @ venerdì 26 febbraio 2010 12.59 | Feedback (2)
giovedì 18 febbraio 2010
Connettersi a TFS 2010 (RC) con Team Explorer 2008

 

Post promemoria: http://blogs.microsoft.co.il/blogs/eranruso/archive/2010/01/19/how-to-connect-to-the-tfs-2010-with-team-explorer-2008.aspx

posted @ giovedì 18 febbraio 2010 15.12 | Feedback (0)
Entity Framework 4 POCO Template e VS 2010 RC

 

Dopo aver installato la versione RC di VS 2010, con grande stupore non ho più trovato il template per la generazione degli oggetti POCO partendo dal modello dati. In rete ho trovato due soluzioni:

La prima http://thedatafarm.com/blog/data-access/using-the-beta-2-ef-poco-template-with-vs2010-rc/ che richiede l’estrazione di un file dall'immagine della versione Beta 2 di Visual Studio. La seconda, http://blog.vuscode.com/malovicn/archive/2010/02/17/using-the-entity-framework-poco-template-with-vs2010-rc-easier-way.aspx, non necessita di alcun file. Non avendo a disposizione la ISO di VS2010 Beta 2, e non volendola riscaricare, ho eseguito la seconda procedura riportata. Per far funzionare il tutto ho dovuto riavviare l’ambiente di sviluppo. Ovviamente  questo è solo un escamotage nell’attesa che venga rilasciato il template ufficiale.

Come riportato sul blog del team di ADO.NET, i template POCO per VS2010 RC sono stati rilasciati. Dettagli e relativi link a questo indirizzo: http://blogs.msdn.com/adonet/archive/2010/02/18/entity-framework-poco-template-updated-for-visual-studio-2010-release-candidate.aspx

posted @ giovedì 18 febbraio 2010 10.55 | Feedback (2)
lunedì 15 febbraio 2010
Entity Designer Database Generation Power Pack

 

Un’altra novità per la gestione e sviluppo di database per Visual Studio 2010:

This "Entity Designer Database Generation Power Pack" is a standalone download which includes some new database generation technologies. The original Database Generation feature in the Entity Designer is extensible via Windows Workflows and T4 Templates.  This Power Pack builds on these extensibility mechanisms - introducing a new UI to help manage database generation strategies as well as six new workflow options for generating your database.

Download e maggiori dettagli, qui: http://visualstudiogallery.msdn.microsoft.com/en-us/df3541c3-d833-4b65-b942-989e7ec74c87

posted @ lunedì 15 febbraio 2010 10.45 | Feedback (0)
domenica 14 febbraio 2010
Chiusura DotNetRomaCestà

 

Ho appena letto questa notizia direttamente dal portale http://www.dotnetromacesta.org/Notizie.aspx?IdNews=107. Sono veramente dispiaciuto.

posted @ domenica 14 febbraio 2010 20.34 | Feedback (6)
lunedì 11 gennaio 2010
IT Architect, questo sconosciuto…

 

Volevo sottoporre alla vostra attenzione un “piccolo” quesito, forse banale a molti: spesso mi trovo a  parlare con persone che si presentano come “IT Architect”, “Software Architect” o cose del genere, ma dopo qualche minuto di conversazione, altro che “Architect”, neanche “Murator” (senza offesa per nessuno). Quindi mi chiedevo, quali sono i “requisiti” per definirsi “Architect” ? Sono necessarie delle certificazioni (se non ricordo male si…) ? Cosa ne pensate ? Grazie a chiunque voglia rispondere.

posted @ lunedì 11 gennaio 2010 12.29 | Feedback (18)
[OT] BASTA!Italia 2010: due free pass

 

DotNetRomaCesta e BASTA!Italia, mettono in palio due free pass per l’edizione 2010 dell’evento: dettagli per partecipare all’estrazione a questo indirizzo.

posted @ lunedì 11 gennaio 2010 10.53 | Feedback (1)
domenica 10 gennaio 2010
Entity Framework 4: POCO e Complex Type

 

Proviamo a modificare il Data Model precedente , per testare il supporto di  Visual Studio 2010 ai Complex Type. Eliminiamo dall’entità Persona la proprietà Indirizzo, sostituendola con le proprietà Via, NumeroCivico, Comune e Provincia di tipo stringa:

image

Le proprietà elencate sono le candidate per il tipo complesso Indirizzo. A differenza della versione precedente di Entity Framework, in cui bisogna modificare a mano il codice del file .edmx, Visual Studio 2010 ci viene incontro: selezioniamo con il mouse le proprietà precedentemente citate tenendo premuto il tasto CTRL, premiamo il tasto destro del mouse e scegliamo “Refactor into New Complex Type”, come in figura:

image

Nel Model Browser rinominiamo il Complex Type “ComplexType1” appena creato in “Indirizzo” :

image

A questo punto, l’EDM Designer, dovrebbe assomigliare a qualcosa di questo tipo:

image

Visualizzando il Mapping Details, possiamo osservare come Visual Studio mappa le nostre entità alle tabelle del database:

image 

Per avere un’applicazione completa, non ci resta che modificare le classi POCO: selezioniamo il progetto “EF4FeaturesPOCO” ed aggiungiamo una nuova classe Indirizzo:


public class Indirizzo
{
    public string Via { get; set; }
    public string Comune { get; set; }
    public string NumeroCivico {get;set;}
    public string Provincia { get; set; }
}

e modifichiamo il codice della classe Persona:


public class Persona 
{ 
    public int Id { get; set; } 
    public string Nome { get; set; } 
    public string Cognome { get; set; } 
    public Indirizzo Indirizzo { get; set; } 
    public List<Ente> Enti { get; set; } 
}

Non ci resta che modificare il codice per l’inserimento di una nuova persona:


EF4FeaturesData.PersonaManager manager = new EF4FeaturesData.PersonaManager(); 
Persona p = new Persona(); 
p.Enti = new List<Ente>(); 
p.Cognome = "PIETRO"; 
p.Nome = "LIBRO"; 
 
p.Indirizzo = new Indirizzo() 
{ 
    Comune = "ROMA", 
    NumeroCivico = "s.n.c.", 
    Provincia = "RM", 
    Via = "Via Una Via Di Roma" 
}; 
 
Ente e = new Ente(); 
e.Persone = new List<Persona>(); 
e.Denominazione = "NUOVA SOCIETA' s.r.l."; 
e.Sigla = "NS"; 
 
manager.Aggiungi(p, e);           
 
Console.WriteLine("Nel DB sono presenti le seguenti persone:"); 
 
foreach (Persona per in manager.OttieniElencoPersone()) 
{                
    Console.WriteLine("{0} {1} ID={2}", per.Nome, per.Cognome, per.Id); 
    Console.WriteLine("Via: {0}", per.Indirizzo.Via); 
    Console.WriteLine("Comune: {0}", per.Indirizzo.Comune); 
    Console.WriteLine("Provincia: {0}", per.Indirizzo.Provincia); 
    Console.WriteLine("Appartiene ai seguenti enti:"); 
    foreach (Ente ent in per.Enti) 
    { 
        Console.WriteLine("===>{0}", ent.Denominazione); 
    } 
}

Eseguendo l’applicazione, otteniamo:

image

Piccola osservazione: un secondo modo possibile (oltre al codice a manina) per aggiungere un Complex Type al nostro modello, è quello di selezionare “Add\Complex Type” dal menu contestuale visualizzabile tramite click del testo destro del mouse dell’EDM designer:

image

posted @ domenica 10 gennaio 2010 18.57 | Feedback (3)
martedì 5 gennaio 2010
Entity Framework 4: Persistence-Ignorant Objects (POCO Support)

 

Nel post precedente abbiamo visto una delle novità più evidenti della nuova versione di Entity Framework, il supporto allo sviluppo Model First. Un'altra feature riguarda il supporto verso i tipi POCO (plain-old CLR objects): in pratica, abbiamo la possibilità di utilizzare le nostre classi custom, costituenti il Domain Model dell’applicazione, con il Data Model, senza dover far nulla (o quasi), è infatti sufficiente mappare le nostre classi con l’entità del modello dei dati per avere a disposizione gli stessi (o quasi) comportamenti (query, inserimento ed aggiornamento dei dati etc…) che si hanno con le classi entità con cui siamo abituati a lavorare ora. Alcuni dei vantaggi che mi vengono in mente, sfruttando questa nuova funzione, sono: possibilità di migrare vecchie procedure affinché possano utilizzare i vantaggi offerti da EF, sviluppo “Code-First”, sviluppo TDD (Test-Driven Development), Testing.

In questo esempio, andremo ad utilizzare il database creato nel post precedente, ma con una nuova soluzione di Visual Studio 2010 beta 2, denominata EF4Features, a cui andremo ad aggiungere due C# Library Project:

  1. EF4FeaturesData, contente il modello dei dati.
  2. EF4FeaturesPOCO, contenente i le nostre classi POCO.

Prima di proseguire, nel progetto EF4FeaturesData, andiamo ad aggiungere un riferimento al progetto EF4FeaturesPOCO. A questo punto la nostra soluzione dovrebbe essere simile a qualcosa di questo tipo:

image

Nel progetto EF4FeaturesData aggiungiamo un nuovo item ADO.NET Entity Data Model, che possiamo chiamare EF4FeaturesDataModel.edmx. Però, a differenza del post precedente, invece di partire da un modello dati vuoto, nel Wizard, scegliamo Generate from database:

image

Dopo aver premuto Next, verrà visualizzata una seconda schermata dove potremo selezionare la connessione al database (che dovrebbe essere già presente nell’elenco delle connessioni disponibili). Premendo nuovamente su next, il Wizard ci chiede di scegliere quali oggetti del nostro database vogliamo aggiungere al nostro modello: scegliamo tutte le tabelle tranne sysdiagrams ed impostiamo il namespace del nostro modello come EF4FeaturesData:

image

A questo punto premiamo su Finish e dopo qualche secondo, nell’elenco dei file del nostro progetto vedremo comparire il file EF4FeaturesDataModel.edmx. Prima di continuare, visualizziamo la finestra delle proprietà del file EF4FeaturesDataModel.edmx e cancelliamo il contenuto della proprietà Custom Tool (perché saremo noi a scrivere il codice che generalmente è automaticamente generato da Visual Studio).

image

Selezioniamo il progetto EF4FeaturesPOCO e aggiungiamo due nuove classi (le nostre POCO), Ente e Persona, il cui codice è rispettivamente:

public class Ente
{
    public int Id { get; set; }
    public string Denominazione { get; set; }
    public string Sigla { get; set; }
    public List<Persona> Persone { get; set; }
}

e
public class Persona 
{ 
    public int Id { get; set; } 
    public string Nome { get; set; } 
    public string Cognome { get; set; } 
    public string Indirizzo { get; set; } 
    public List<Ente> Enti {get;set;} 
}
 

Da notare come le Navigation Properties (Ente.Persone e Persone.Enti) presenti nel nostro modello dei dati, siano state tradotte in List<T>. Per poter eseguire query e la persistenza dei dati, abbiamo necessità di creare la nostra classe EF4FeaturesContext derivata da ObjectContext. Veramente banale:


public class EF4FeaturesContext : ObjectContext 
   { 
       private ObjectSet<EF4FeaturesPOCO.Persona>_persone = null; 
       private ObjectSet<EF4FeaturesPOCO.Ente> _enti = null; 
 
       public EF4FeaturesContext() 
           : base("name=EF4DataModel", "EF4DataModel") 
       { 
           _persone = CreateObjectSet<EF4FeaturesPOCO.Persona>(); 
           _enti = CreateObjectSet<EF4FeaturesPOCO.Ente>(); 
       } 
 
       public ObjectSet<EF4FeaturesPOCO.Persona> Persone 
       { 
           get { return _persone; } 
       } 
 
       public ObjectSet<EF4FeaturesPOCO.Ente> Enti 
       { 
           get { return _enti; } 
       } 
   }
 

Nel codice, CreateObjectSet crea una nuova istanza della classe ObjectSet<>, utilizzata per eseguire query, aggiungere, modificare ed eliminare oggetti dello specifico tipo. ObjectSet<> a sua volta estende le funzionalità della classe ObjectQuery<> presente nella versione precedente di Entity Framework. Ulteriori dettagli su queste due classi possono essere recuperati dalla versione beta di MSDN: http://msdn.microsoft.com/en-us/library/dd412652(VS.100).aspx (ObjectContext.CreateObjectSet(TEntity)) e http://msdn.microsoft.com/en-us/library/dd412719(VS.100).aspx (ObjectSet(TEntity)).

A questo punto, possiamo creare una classe “manager” che si occupi di eseguire l’inserimento di una nuova persona ed ottenere l’elenco delle persone già registrate utilizzando EF4FeaturesContext:


public class PersonaManager 
{ 
    public int Aggiungi(EF4FeaturesPOCO.Persona p) 
    { 
        using (EF4FeaturesData.EF4FeaturesContext context = new EF4FeaturesData.EF4FeaturesContext()) 
        { 
            context.AddObject("Persone", p); 
            int result = context.SaveChanges(); 
        } 
        return p.Id; 
    } 
    public List<EF4FeaturesPOCO.Persona> OttieniElencoPersone() 
    { 
        using (EF4FeaturesData.EF4FeaturesContext context = new EF4FeaturesData.EF4FeaturesContext()) 
        { 
            var q = from c in context.Persone orderby c.Cognome select c; 
            return q.ToList(); 
        } 
    } 
}

Testiamo il tutto aggiungendo alla nostra soluzione un nuovo progetto C# Console Application, scrivendo nel Main qualcosa di questo tipo (dopo aver impostato i riferimenti ai progetti già presenti nella soluzione):

EF4FeaturesData.PersonaManager manager = new EF4FeaturesData.PersonaManager(); 
Persona p = new Persona(); 
p.Cognome = "LIBRO"; 
p.Nome = "PIETRO"; 
p.Indirizzo = "Via di qualcosa"; 
 
Console.WriteLine("La persona {0} {1} e' stata aggiunta con ID {2}", 
    p.Nome,p.Cognome, manager.Aggiungi(p)); 
 
Console.WriteLine("Nel DB sono presenti le seguenti persone:"); 
 
foreach (Persona per in manager.OttieniElencoPersone()) 
{ 
    Console.WriteLine("{0} {1} ID={2}", per.Nome, per.Cognome, per.Id); 
} 
 

Eseguendo l’applicazione, otteniamo:

image

Proviamo ora a gestire la relazione: aggiungiamo un overload del metodo PersonaManager.Aggiungi(…) che accetti  un’istanza della classe persona ed una di Ente, in questo modo:

public int Aggiungi(EF4FeaturesPOCO.Persona p,EF4FeaturesPOCO.Ente e) 
      { 
          using (EF4FeaturesData.EF4FeaturesContext context = new EF4FeaturesData.EF4FeaturesContext()) 
          { 
              context.AddObject("Persone", p); 
              context.AddObject("Enti", e); 
 
              p.Enti.Add(e); 
              e.Persone.Add(p); 
 
              int result = context.SaveChanges(); 
          } 
          return p.Id; 
      }
 

Modifichiamo PersonaManager.OttieniElencoPersone() così (in modo da caricare automaticamente anche gli enti di ogni persona):

public List<EF4FeaturesPOCO.Persona> OttieniElencoPersone() 
       { 
           using (EF4FeaturesData.EF4FeaturesContext context = new EF4FeaturesData.EF4FeaturesContext()) 
           { 
               var q = from c in context.Persone.Include ("Enti") orderby c.Cognome select c; 
               return q.ToList(); 
           } 
       }
 

Ora il Main:

EF4FeaturesData.PersonaManager manager = new EF4FeaturesData.PersonaManager(); 
Persona p = new Persona(); 
p.Enti = new List<Ente>(); 
p.Cognome = "PINCO"; 
p.Nome = "PALLO"; 
p.Indirizzo = "Via di qualcosa"; 
 
Ente e = new Ente(); 
e.Persone = new List<Persona>(); 
e.Denominazione = "NUOVA SOCIETA' s.r.l."; 
e.Sigla = "NS"; 
 
manager.Aggiungi(p, e); 
 
Console.WriteLine("Nel DB sono presenti le seguenti persone:"); 
 
foreach (Persona per in manager.OttieniElencoPersone()) 
{                
    Console.WriteLine("{0} {1} ID={2}", per.Nome, per.Cognome, per.Id); 
    Console.WriteLine("Appartiene ai seguenti enti:"); 
    foreach (Ente ent in per.Enti) 
    { 
        Console.WriteLine("===>{0}", ent.Denominazione); 
    } 
}
 

Eseguendo nuovamente l’applicazione otterremo qualcosa di questo tipo:

image 

La magia si compie grazie ai metadati memorizzati nel file .edmx, che permettono al .NET Framework di eseguire l’accesso al database e persistere i dati. Lo sforzo che il team di ADO.NET sta portando avanti  è veramente notevole. Qualche osservazione: primo, per grandi progetti sarebbe molto oneroso scrivere “a manina” le varie classi POCO, Entity Framework 4.0 ci viene incontro mediante l’utilizzo di un tool molto potente basato su T4, attraverso script personalizzabili, secondo, in questo post non sono stati affrontati i problemi relativi a Lazy Loading, Change Tracking e Proxies.

Technorati Tag: ,
posted @ martedì 5 gennaio 2010 18.28 | Feedback (3)
sabato 2 gennaio 2010
Entity Framework in .NET 4.0 – Model First

 

E’ da qualche tempo che avrei voluto scrivere qualche post a riguardo della nuova versione dell’Entity Framework, ma per vari motivi ho sempre dovuto rimandare. Finalmente, il momento è arrivato. Durante, il corso dell’anno precedente mi sono trovato ad utilizzare Entity Framework in molti progetti, di piccola e media complessità e devo essere sincero: nonostante i problemi di gioventù (testing ad esempio…), alla fine, ho avuto modo di apprezzare, soprattutto in fase di manutenzione del software, il tempo risparmiato, se dovessi paragonare la stessa tipologia di lavoro utilizzando DataSet tipizzati invece di “Entità”. E’ vero anche, che al fine di disaccoppiare il più possibile i layer logici, è stato necessario dover scrivere (in alcuni casi, non poco) codice per gestire correttamente la situazione, e non dover portarsi dietro sia a livello di progetto che a runtime, tutti i vari riferimenti necessari ai vari EntityObject per funzionare (la situazione potrebbe complicarsi se il DAL si trovasse su un tier completamente diverso da quello della BLL). Vediamo una delle nuove funzionalità introdotte con la nuova versione di Entity Framework: la possibilità di utilizzare un approccio Model First: la generazione concettuale del modello prima del modello di storage (il database in questo caso).

Supponiamo, di voler creare una semplice applicazione per la gestione di un’anagrafica composta da persone ed enti. Le specifiche della nostra applicazione indicano che una persona può essere collegata a più società e che una società può avere più persone, una tipica relazione molti-a-molti. In un approccio data-driven, a questo punto, la prima cosa che faremmo sarebbe aprire (ad esempio) SQL Server Management Studio  e progettare le  tabelle con le varie relazioni, poi aprire Visual Studio, e nel caso dovessimo utilizzare Entity Framework aggiungere al nostro progetto un file con estensione .edmx. Utilizzando un approccio Model-First, apriamo immediatamente Visual Studio 2010 Beta 2 e creiamo un nuovo progetto console (ad esempio) che potremmo chiamare con molta fantasia EF2Features:

image

Aggiungiamo al nostro progetto un nuovo item di tipo ADO.NET Entity Data Model che potremmo chiamare PersoneEntiModel (di conseguenza verrà generato il file PersoneSocietaModel.edmx)

image

Dopo aver fatto click su “Add” verrà visualizzato un Wizard attraverso il quale possiamo scegliere se creare un modello a partire da un database o  partire da un modello vuoto, scegliamo la seconda opzione:

image

Bene, a questo punto, possiamo trascinare dalla casella degli strumenti presente (generalmente) a sinistra di Visual Studio due item Entity nel nostro designer, che chiameremo Persona ed Ente, assegnando rispettivamente le proprietà Nome, Cognome, ed Indirizzo a Persona, Nome e Sigla ad Ente. Per default le due entità presentano una proprietà Id di tipo Int32, le quali sono anche chiavi (Entity Key). Piccola osservazione: la proprietà StoreGeneratedPattern è per default impostata su none: questo vuol dire che il valore della chiave non verrà in alcun caso (insert or update) recuperato dal server quando verrà chiamato il metodo SaveChanges. Impostiamo invece il valore della proprietà su Identity: in questo caso si assume che il valore della chiave verrà recuperato durante il primo inserimento, successivamente si assume che il valore non cambierà. Maggiori dettagli sono disponibili su: http://msdn.microsoft.com/en-us/library/bb738536(VS.100).aspx

image

A questo punto non ci resta che creare l’associazione tra Persona ed Ente: sempre dalla Toolbox, selezioniamo l’item Association e colleghiamo le nostre due entità, specificando, tramite la finestra delle proprietà, relativamente a Persona ed Ente che agli estremi dell’associazione troveremo una collezione di oggetti, secondo del verso di lettura, di tipo Persona o Ente. 

image image

A questo punto non ci resta che creare il nostro database. In “Server Explorer” facciamo click su “Data Connections” e poi “Create New SQL Server Database…” (in alternativa possiamo utilizzare i tools a riga di comando….):

image image

Dopo aver create il nostro database, passiamo alla generazione dello script da utilizzare per la creazione: tasto destro del mouse in un punto del  designer, e dal menu contestuale “Generate Database Script from Model….”:

image

Visual Studio genererà uno script DDL (Database Defintion Lanaguage) da utilizzare per creare le tabelle del nostro DB:

image

Dopo aver premuto Finish, nel nostro progetto verrà aggiunto il file DDL (PersoneEntiModel.edmx.sql) generato che può essere eseguito: direttamente da Visual Studio, tramite SQL Server Management Studio o tool da rigo di comando. In questo caso ho optato per la prima possibilità. Dopo l’esecuzione dello script, espandendo il nodo tables nel “Server Explorer”, otteniamo quanto segue:

image 

Notiamo che per soddisfare la relazione molti-a-molti tra Persona ed Ente è stata generata una terza tabella PersoneEnte (tabella d’associazione). Per verificare ulteriormente il risultato prodotto possiamo creare un nuovo diagramma per meglio visualizzare la relazione creata tra le tabelle:

image

Soddisfacendo gli obiettivi preposti.

Questa è solo una delle novità introdotte con la nuova versione dell’ Entity Framework V.2, tra cui: “POCO Templates” e supporto per il Test-Driven-Development.

posted @ sabato 2 gennaio 2010 11.57 | Feedback (4)
sabato 26 dicembre 2009
Confronto di schemi di database in Visual Studio

 

Da quando ho avuto la fortuna di poter installare Visual Studio Team System, per gestire le modifiche sui database di SQL Server utilizzo il tool integrato “Nuovo confronto schema” raggiungibile dal menu dati di Visual Studio. Il tool si presenta come nello screenshot seguente (in questo caso la “versione italiana”):

image

A questo punto possiamo scegliere i database su cui eseguire il confronto degli schemi e premere “OK”. Secondo della complessità dei database su cui viene eseguito il confronto, la procedura potrebbe impiegare qualche minuto prima di terminare. Completato il processo, verrà visualizzata una schermata in cui viene riepilogato lo stato dei due database:

image

Con qualche click del mouse è possibile indicare quali oggetti (tabelle, colonne, utenti…) bisognerà creare, aggiornare o eliminare nei due database. A questo punto è possibile eseguire direttamente l’aggiornamento sul database di destinazione o salvare lo script di aggiornamento su file:

image

Avendo installato sulla mia macchina due istanze di SQL Server 2005, una di “Sviluppo” ed una di “Produzione”, dopo ogni release, in caso di modifiche al database, tenere aggiornate le due istanze è veramente semplice. Spesso mi sono trovato ad utilizzare il prodotto “SQL Delta”, ma la comodità di avere tutti gli strumenti integrati in un unico ambiente di sviluppo è un’altra cosa.

posted @ sabato 26 dicembre 2009 16.47 | Feedback (0)
venerdì 4 dicembre 2009
.NET Campus 2010: Meet, Learn, Share
Da aggiungere in agenda:

.NET Campus è un evento per sviluppatori organizzato dal gruppo DevLeap in collaborazione con il gruppo dei Microsoft Student Partner e le Community più attive per fornire a studenti e aziende un’intensa mattinata di sessioni tecniche presso l’università Roma 3. Insieme alle sessioni tecniche orientate alle novità che ruotano intorno al mondo .NET, la giornata rappresenta un momento unico dove aziende e studenti possono incontrarsi per confrontare i loro mondi e unire le loro esperienze

Tra le community presenti: UgiDotNet e ASPItalia.

Tutti i particolari su http://www.dotnetcampus.it/
posted @ venerdì 4 dicembre 2009 15.21 | Feedback (0)
mercoledì 2 dicembre 2009
Blog MSDN Italia: Community Links

Ci sono e-mail che possono cambiare il corso di una giornata: ho appena ricevuto una mail da Emanuele, in cui mi informa che è stato pubblicato sul Blog di MSDN Italia, un link relativo ad un mio articolo presente su DotNetRomaCesta, riguardante SQL Server 2005 e SSIS.

posted @ mercoledì 2 dicembre 2009 11.42 | Feedback (2)
martedì 1 dicembre 2009
Academic Tours: Mobile Development in ambiente Microsoft

Ieri 30/11/2009, presso il centro congressi di Via Salaria (Roma) si è tenuto un seminario riguardante lo sviluppo su dispositivi mobili utilizzando Visual Studio 2008. Il seminario faceva parte di una delle tappe dell'Academic Tours. Speaker di turno: Roberto Freato, (MSP Lead del nord Italia). Nella prima parte del seminario Roberto ha mostrato step-by-step come eseguire il Data Bound con un controllo Datagrid, utilizzando come sorgente dati una tabella di un database SQL Server Mobile. Ha introdotto e mostrato l'utilizzo di XML e XSD. E' stato mostrato l'utilizzo dell'emulatore per invio/ricezione di SMS e Telefono (e come sfruttare i relativi eventi per i nostri software), come eseguire il deployment dell'applicazione su dispositivo fisico, e per ultimo, un piccolo accenno al mondo dei Web Services e come consumarli in un'applicazione client. Nella seconda parte del seminario, invece sono stati introdotti argomenti dicesamente più avanzati, come il threading, la gestione della memoria, la gestione dell'interfaccia utente etc...

La partecipazione all'evento è stata soddisfacente e comprendeva sia gli studenti d'Ingegneria che d'Informatica dell'Università di Roma "La Sapienza" (a proposito ringrazio i due MSP di Ingegneria Paolo ed Enzo per l'aiuto che mi hanno dato nel pubblicizzare l'evento anche da loro).

E' stato un bel momento per (re)incontrare Mauro e FrancescaMatteo ed Andrea, e conoscere Simona.

La serata si è conclusa poi con una bella pizzata, a cui ha partecipato anche Michele di DotNetCampania, ed  un suo amico (Antonio se non erro, scusate non ricordo con sicurezza il nome) aspirante MSP.

Dato che durante il seminario si è anche parlato del programma dreamspark, ciò che più mi ha stupito, sono le domande che alcuni studenti mi hanno rivolto, riassumibili in: "Davvero Microsoft 'regala' tutto quel software ?".

posted @ martedì 1 dicembre 2009 12.30 | Feedback (1)
News

View Pietro Libro's profile on LinkedIn

Pietro Libro