mercoledì 16 aprile 2025

C# Entity Framework utilizzo del metodo FromSql

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: