Stored Procedure e EF

Entity Framework supporta le Stored Procedure attraverso le “Function Imports”, le quali creano dei metodi all’interno della classe “DbContext” per mezzo dei quali è possibile chiamare le varie Stored Procedure.
using (NorthwindEntities northWindContext = new NorthwindEntities())
{
List employeesList = northWindContext.spGetEmployees().ToList();
}
public virtual ObjectResult spGetEmployees()
{
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("spGetEmployees");
}

Nel codice mostrato sopra c’è un esempio di una chiamata ad un metodo creato importando la Stored Procedure, e l’implementazione del metodo stesso.

Continue reading Stored Procedure e EF

Search Full DataBase

The searches in the database are very common, but sometimes it doesn’t know the table’s name or column’s name, but only the value to search.

I wrote a SQL Script that executes the search in the database, then in all columns.

The SQL Script can work on tables of sys namespace or on INFORMATION_SCHEMA namespace, in this situation they’re equivalent.

Continue reading Search Full DataBase

S.O.S. DataBase

I database sono file  e come tutti i files si possono corrompere o danneggiare, per fortuna esistono i backup e quindi basta eseguire un restore del database danneggiato.

Se non avete un backup recente a disposizione SQL Server mette a disposizione una procedura per ripristinare il database corrotto, di seguito il codice da eseguire per riparare il db.


EXEC sp_resetstatus [YourDatabase];
ALTER DATABASE [YourDatabase] SET EMERGENCY
DBCC checkdb([YourDatabase])
ALTER DATABASE [YourDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([YourDatabase], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [YourDatabase] SET MULTI_USER

SQL Server 2016 & JSON

Microsoft con il rilascio di SQL Server 2016 ha introdotto il supporto nativo a JSON.

Di seguito vi segnalo una serie di articoli sul blog di SQL Server  che descrivono questa nuova funzionalità:

Oppure potete seguire questo video corso presente su Microsoft Virtual Accademy tenuto da Alessandro Alpi.

Progettazione Web: La base dati

Riprendo la realizzazione della demo di cui ho scritto nel precedente post, in questo post definiremo la struttura del database. Gli argomenti su cui mi focalizzerò saranno le best practices che si possono utilizzare quando si progetta una stuttura dati.

Nella nostra piccola applicazione abbiamo due entità fondamentali:

Continue reading Progettazione Web: La base dati

SQL Server, Collate & Co.

Ho lavorato con un Database che aveva tabelle definite con delle “COLLATE” differenti.

La “COLLATE” definisce l’alfabeto contenente i simboli validi per i campi di tipo char, nchar, varchar, nvarchar.
La “COLLATE” viene specificata quando si installa l’istanza di SQL Server e di solito rimane quella definita durante l’installazione per tutti i database che vengono creati in quell’istanza. Secondo il mio modesto parere è altamente sconsigliato modificare la “COLLATE” per i database presenti nella stessa istanza di SQL Server, quindi a maggior ragione per le tabelle presenti nello stesso database.

Continue reading SQL Server, Collate & Co.