Quando si utilizza Entity Framework, può tornare utile eseguire istruzioni SQL, questo è possibile tramite il metodo "FromSql".
Supponiamo di avere una tabella denominata "Anagrafica", tramite un'istruzione SQL possiamo estrapolare i dati.
Di seguito un frammento di codice nel linguaggio C#
C#
DatiContext dati = new DatiContext();
//Esegue istruzione query SQL
var datiSQL= dati.Anagraficas.FromSql($"SELECT * FROM
Anagrafica").ToList();
L'istruzione SQL è molto semplice, ma possiamo applicare anche query più complesse.
Nel caso che vogliamo eseguire una Stored Procedure che accetta un parametro, possiamo eseguire i comandi per l'esecuzione di una Stored Procedure, passando il valore per il parametro.
Di seguito si riporta un frammento di codice delle suddette operazioni.
C#
DatiContext dati = new DatiContext();
//Esegue
istruzione da Stored Procedure
string nome = "Luigi";
var datiDaSP = dati.Anagraficas.FromSql($"EXECUTE GetAnagrafica {nome}").ToList();
Altra tecnica di eseguire una Stored Procedure, è quella di utilizzare la classe SqlParameter,
C#
DatiContext dati = new DatiContext();
//Esegue Stored Procedure con parametro
var nomeParametro = new SqlParameter("@Nome", "Luigi");
var
datiDaSPconParametro = dati.Anagraficas.FromSql($"EXECUTE GetAnagrafica {nomeParametro}").ToList();
Infine, altra tecnica per utilizzare il metodo "FromSql" è quella di eseguire l'istruzione Sql con istruzione Linq.
Di seguito un esempio di tale utilizzo.
C#
DatiContext dati = new DatiContext();
//Esegue
istruzione SQL con where ling
var
datiDaSPconParametroDinamico = dati.Anagraficas.FromSql($"SELECT * FROM
[Anagrafica] ").Where(p=>p.Nome=="Luigi").ToList();
Il Framework Entity Framework, offre interessanti possibilità per gestire una fonte dati, ed il metodo FromSql, è una delle tante tecniche che abbiamo a disposizione.
Nessun commento:
Posta un commento