小编use*_*143的帖子

在Entity Framework中参数化原始Oracle SQL查询

我正在尝试在EF 4中为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();
Run Code Online (Sandbox Code Playgroud)

运行此操作不会返回任何结果.如果我用类似的东西替换参数

"SELECT * FROM web_project_task_vw WHERE project_num like '%"+term+"%'"
Run Code Online (Sandbox Code Playgroud)

它返回我期望的结果,但这显然是SQL注入风险.

任何人都可以指出我的参数应该如何在EF 4中为Oracle DB工作的正确方向?

谢谢.

c# oracle entity-framework-4

9
推荐指数
2
解决办法
7797
查看次数

标签 统计

c# ×1

entity-framework-4 ×1

oracle ×1