Jak dodać parametr do następującego surowego polecenia SQL modułu Entity Framework? Na przykład, jeśli chcę ustawić parametr Id
?Jak dodać parametr do struktury surowego komendy sql obiektu
using (var context = new NorthwindDBEntities())
{
context.Database.ExecuteSqlCommand(@"
UPDATE dbo.Customers
SET Name = 'Test' WHERE Id = 1
");
}
Wiem, że twoje pytanie dotyczy tworzenia parametrów (SqlParameter), jeśli z jakiegokolwiek powodu chcesz, ale, w twoim przypadku, jeśli chcesz wywołać surowe polecenie sql jak UPDATE, czemu nie użyć ciągu.Format ("UPDATE. .. WHERE Id = {0} ", typedIdVariable) zamiast SqlParameter? – natenho
@natenho: ponieważ, bez względu na to, nie powinieneś ulec pokusie złożenia SQL przez połączenie ciągów. Chociaż prawdopodobnie będzie działać na podstawie zastępstw całkowitych (ten konkretny przypadek użytkownika), pozostawia dojrzałość do SQL injection w innych przypadkach. Zły nawyk, którego najlepiej unikać. – spender
Co prowadzi mnie do innego pokrewnego pytania. Wiesz, jak wywołać context.usp_stored_proc (parm1, parm2)? Czy to podlega atakowi iniekcyjnemu? – Rod