Próbuję sparametryzować surowe zapytanie SQL dla synonimu Oracle (bez encji) w EF 4 i mam pewne problemy. Obecnie robię coś takiego jak poniższy kod, na podstawie kilku przykładów, które widziałem:Parametryzowanie surowego zapytania Oracle SQL w Entity Framework
string term="foo";
OracleParameter p = new OracleParameter("@param1", term);
object[] parameters = new object[] { p };
var model = db.Database.SqlQuery<ProjectTask>("SELECT * FROM (SELECT * FROM web_project_task_vw WHERE project_num like '%@param1%') WHERE rownum<=100", parameters).ToList();
Uruchomienie tego nie zwróci żadnych wyników. Jeśli zastąpię parametr z czymś podobnym do
"SELECT * FROM web_project_task_vw WHERE project_num like '%"+term+"%'"
to zwraca oczekiwane wyniki, ale jest to oczywiście ryzyko wstrzyknięcia SQL.
Czy ktoś może wskazać mi właściwy kierunek, w jaki sposób parametry powinny działać w EF 4 dla Oracle DB?
Dzięki.
Myślałem nazwy parametrów Oracle rozpoczął: zamiast @? – RogerN