Entity framework e Entity Copy

Recentemente ho dovuto modificare la logica di un’applicazione che gestiva i dati memorizzati all’interno di un db, tramite Entity Framework. In particolare l’esigenza è stata quella di filtrare una serie di record (in base a particolari condizioni), modificarne alcuni dati e copiarli (ricreandoli) all’interno del database.

Continua a leggere Entity framework e Entity Copy

Aspnet Core 2.1 Razor Pages Library

Nel mese di aprile 2018 è stato rilasciata la versione 2.1 di AspNet Core 2.1. Una delle novità più interessanti riguarda la possibilità di creare Razor Pages Library.

Le Razor Page sono state introdotte all’interno del framework a partire dalla versione 2.0, e consentono di creare view che possono essere renderizzate senza avere un controller associato. Il codice di una Razor Page è molto simile a quello di una View scritta con Razor, con la differenza dell’utilizzo di una nuova direttiva @page, che deve essere la prima direttiva presente nella View.

Continua a leggere Aspnet Core 2.1 Razor Pages Library

Sviluppare con .NET Core? Perché no?

Personalmente credo che .NET Core abbia raggiunto la maturità sufficiente per poter essere utilizzato al posto di .NET Framework. Nello sviluppo di applicazioni procedo sempre con l’analisi dei pro e dei contro nella scelta del framework da utilizzare. Le considerazioni che solitamente faccio sono:

  • Le applicazioni legacy difficilmente possono essere migrate a .NET Core: è meglio mantenere web app, backend e web api al framework .NET. Un discorso analogo è rappresentato dalle applicazioni on-premise (ad esempio deployate in sistemi Server)
  • Per quanto riguarda le applicazioni scritte in VB.NET (ahimè esistono ancora!), è sempre consigliato convertirle a C# e, se proprio non è possibile, mantenerle in .NET Framework
  • Per le altre soluzioni, soprattutto in ottica cloud, è consigliabile utilizzare .NET Core
  • Se l’applicazione è stata sviluppata seguendo i principi S.O.L.I.D, la migrazione potrebbe richiedere pochi interventi (necessari per l’adeguamento delle varie porzioni di codice). Se è sviluppata in Spaghetti Code (ebbene si, esistono!), è l’adeguamento ad un flusso più’ fluido ed organizzato è d’obbligo.

Continua a leggere Sviluppare con .NET Core? Perché no?

.Net Core – Static files e cache

La cache è il meccanismo che consente ai browser di memorizzare al loro interno le singole risposte http provenienti dal client. Vengono memorizzate all’interno della cache i contenuti di pagine, file javascript, immagini e ovviamente i file css.

Il sistema di caching dei file statici in ambiente di produzione è sicuramente molto importante, perchè consente al client di scaricare solo i file che effettivamente sono “scaduti” (ovviamente se non vengono effettuate forzature, come la cancellazione della cache sul browser). Questo tipo di comportamento non sempre è ottimale durante la fase di sviluppo: spesso una risposta diversa da quella che ci aspettiamo deriva proprio dal mancato aggiornamento dei file (all’interno della cache del browser).

Continua a leggere .Net Core – Static files e cache