首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dapper DynamicParameters返回错误

Dapper DynamicParameters返回错误
EN

Stack Overflow用户
提问于 2016-04-20 06:10:47
回答 1查看 1.4K关注 0票数 2

我目前使用的是最新版本的dapper,版本1.50.0-beta9。我为Oracle使用的提供程序是Oracle.ManagedDataAccess,版本为12.1.2400。当使用dapper的动态参数时,我得到了一个错误。我的代码类似于下面的示例:

代码语言:javascript
复制
public class PersonDAL : OracleBase {

    public PersonDAL() : base() {
    }

    public PersonDAL(string connectionString) : base(connectionString) {
    }

    public const string ParamPersonID = ":personid";
    public const string ParamClassID = ":classid";
    private const string getPersonByClassAndID = "SELECT PERSON_ID AS PersonID, PERSON_DESCRIPTION AS PersonDescription, CLASS_ID AS ClassID FROM TABLE_PERSON WHERE PERSON_ID = " + ParamPersonID + " AND CLASS_ID = " + ParamClassID;

    public SystemModel GetModelByPersonID_ClassID(int classID, int personid) {
        DynamicParameter = new DynamicParameters();
        DynamicParameter.Add(ParamClassID, classID);
        DynamicParameter.Add(ParamPersonID, personid);
        return Connection.QuerySingle<SystemModel>(getPersonByClassAndID, DynamicParameter);
    }
}

这将返回以下错误:

无效参数绑定 参数名称: personidAND

EN

回答 1

Stack Overflow用户

发布于 2016-04-20 06:59:08

您在SQL中缺少语法。你所拥有的是

代码语言:javascript
复制
WHERE Foo=:fooBar=:bar

您需要一个ANDOR以及中间的一些空格。

在这个场景中,您实际上并不需要DynamicParameters。这里的“经典”穿衣用法应该是:

代码语言:javascript
复制
new { classID, personID } 

作为参数对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36735189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档