首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以从Dapper DynamicParameters中删除参数吗?

我可以从Dapper DynamicParameters中删除参数吗?
EN

Stack Overflow用户
提问于 2019-06-27 04:55:40
回答 1查看 1.4K关注 0票数 2

我正在从外部来源检索数据。我的类与JSON的响应相匹配。但是,在json中有一个内部对象。当我将它传递给Dapper中的动态参数时,如何删除它?

类的基本结构

代码语言:javascript
复制
{
   "name": "John",
   ... 30 more fields here ...

   "location": {
       "city": "abcd", 
       "zip": "87123"
    }
}

像这样使用:

代码语言:javascript
复制
foreach (var result in response.results) 
{
    var parameters = new DynamicParameters();
    parameters.AddDynamicParams(result);

    // I need to remove "location" from this parameter
    // and then I can add the city and zip

    parameters.AddDynamicParams(result.location.city); // etc

    db.Execute("save_data", parameters, commandType:CommandType.StoredProcedure);
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-27 23:44:00

还在等待答案,但这里是我已经开始使用的变通方法

代码语言:javascript
复制
foreach (var result in response.results) {
  var parameters = new DynamicParameters();

  foreach (PropertyInfo prop in result.GetType().GetProperties()) {

      if (!SpecialParameter(result, prop, parameters))
         parameters.Add(prop.Name, prop.GetValue(result, null));

  }

  db.Execute("save_data",
         parameters, commandType: CommandType.StoredProcedure);
}    


function SpecialParameter(result, prop, parameters) {
// can be implemented in the sub class

   switch (prop.Name) {
      case "location":
         parameters.Add("location_city", result.city);
         parameters.Add("location_state", result.city);
         return true;
   }

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

https://stackoverflow.com/questions/56780770

复制
相关文章

相似问题

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