Ho letto qui che l'uso di ORM (come nHibernate) non impedisce necessariamente l'iniezione SQL; ad esempio, se continui a creare query dinamiche utilizzando il tuo framework ORM, sei ancora vulnerabile.
Bene, allora qual è l'uso corretto di ORM per evitare tutti i tipi di iniezione SQL? Dovremmo usare le query parametrizzate usando il nostro framework ORM? Qualcosa come nHibernate sfugge a caratteri SQL speciali come virgolette singole così gli sviluppatori non scrivono un pezzo di codice come questo:
private string SafeSqlLiteral(string inputSQL) { return inputSQL.Replace("'", "''"); }