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.

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.