【发布时间】:2014-11-12 01:22:52
【问题描述】:
我目前正在尝试使用 Dapper。以下代码完美运行:
using (var conn =
new OracleConnection(
"Uid=dbusr;Pwd=dbusrpwd;Server=oraserver;"))
{
var col =
conn.Query<User>(
"SELECT * FROM Users WHERE UserName = 'uid01'"
, null)
.ToList();
}
但是,如果我不使用硬编码参数,而是尝试通过参数化查询和匿名类传递它,如下所示:
using (var conn =
new OracleConnection(
"Uid=dbusr;Pwd=dbusrpwd;Server=oraserver;"))
{
var col =
conn.Query<User>(
"SELECT * FROM Users WHERE UserName = @Id"
, new { Id = "uid01" })
.ToList();
}
我收到以下错误:
ORA-01036: 非法变量名/编号
搜了一圈SO,没有发现类似的报错;似乎我遗漏了一些非常明显的东西,但可惜 - 我的咖啡用完了。我会很感激任何提示。
【问题讨论】: