我想參數化EF 4中的一個Oracle同義詞(非實體)的原始SQL查詢,我遇到了一些問題。目前我正在做類似下面的代碼,基於我看到的一些示例:參數化實體框架中的原始Oracle SQL查詢
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();
運行此操作不會返回任何結果。如果我的東西來替換參數一樣
"SELECT * FROM web_project_task_vw WHERE project_num like '%"+term+"%'"
返回我所期望的結果,但是這顯然是一個SQL注入風險。
任何人都可以在正確的方向上指出我的參數應該如何在EF 4中爲Oracle DB工作?
謝謝。
我認爲甲骨文的參數名稱開始的:不是@? – RogerN 2013-03-19 20:15:42