0

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

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

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

例如

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);

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

提前致谢!

4

1 回答 1

0

已经解决了这个。

重要提示: 1. 由于某种原因,参数不能具有相同的名称,并且必须单独传递 NVL(column_1, :p0) = :p1 2. like 之后的参数需要采用字符串格式 %,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);
于 2014-06-04T17:41:03.523 回答