Come aggiungerei un parametro al seguente comando SQL grezzo di Entity Framework? Ad esempio, cosa succede se volessi rendere il parametro Id
un parametro?Come aggiungere un parametro al comando sql raw di entity framework
using (var context = new NorthwindDBEntities())
{
context.Database.ExecuteSqlCommand(@"
UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = 1
");
}
So che la tua domanda riguarda la creazione di parametri (SqlParameter) se vuoi qualunque ragione, ma, nel tuo caso, se vuoi chiamare un comando raw sql come un UPDATE, perché non usare un string.Format ("UPDATE. .. WHERE Id = {0} ", typedIdVariable) invece di un SqlParameter? – natenho
@natenho: perché, non importa cosa, non si dovrebbe essere tentati di assemblare SQL tramite concatenazione di stringhe. Mentre probabilmente funzionerà per le sostituzioni di interi (caso specifico di questo utente), ti lascerà maturo per l'iniezione SQL in altri casi. Una cattiva abitudine meglio evitare. – spender
Che mi porta ad un'altra domanda correlata. Sai come chiamare contest.usp_stored_proc (parm1, parm2)? È soggetto a un attacco di iniezione? – Rod