MVC原始查询和具有相同参数名称的参数化

时间:2014-06-04 16:51:45

标签: oracle model-view-controller sql-like sql-parametrized-query

将EF 5.0与Oracle.Data.Client一起使用。尝试执行行参数化查询。

如何使用原始查询在mvc中绑定具有相同参数名称的多个参数?

实体 - > MVC模型数据库实例。

e.g。

string myVal = 'foo'; 
string myVal2 = '%,foo2,%'; 
string SQLstring =
  @"SELECT name 
  FROM table 
  WHERE NVL(column_1, :p0) = :p0
  AND '%,' || column_2 || ',%' LIKE :p1";

retVal = entities.Database.SqlQuery<string>(SQLstring, myVal, myVal2);

我要么接受: - 并非所有变量都绑定。然后我尝试了单独的param名称,但没有帮助NVL(column_1,:p0)=:p1

提前致谢!

1 个答案:

答案 0 :(得分:0)

已经解决了这个问题。

重要的: 1.由于某种原因,参数不能具有相同的名称,必须单独传递NVL(column_1,:p0)=:p1 2.之后的参数需要是字符串格式%,1,%(因为它是在原始问题中)

string myVal = 'foo';
string myVal2 = '%,foo2,%';
string SQLstring = @"SELECT name FROM table 
                        WHERE NVL(column_1, :p0) = :p1
                      AND '%,' || column_2 || ',%' LIKE :p2";
retVal = entities.Database.SqlQuery<string>(SQLstring, myVal, myVal, myVal2);