在作项目的时候,我会将一些不涉及查询的字段,形成JSON统一存放在一个字段中,向下面这样的来建实体类,

public class WechatModel
{
public string wechatid { get; set; }
public WxMpModel wxmpinfo { get; set; }
}
public class WxMpModel
{
public string appid { get; set; }
public string secret { get; set; }
public string token { get; set; }
}

表字段为

[wechatid] [varchar](50) NOT NULL,
[wxmpinfo] [varchar](max) NULL

但是在用Dapper向数据库存取的时候,Dapper会报异常,无法序列化,解决方法为,新建一个转换类,在使用前注册一下

    public class JsonConvertHandler<T> : SqlMapper.TypeHandler<T>
{
public override T Parse(object value)
{
return JsonConvert.DeserializeObject<T>((string)value);
} public override void SetValue(IDbDataParameter parameter, T value)
{
parameter.Value = JsonConvert.SerializeObject(value);
}
}

使用示例

SqlMapper.AddTypeHandler(new JsonConvertHandler<WxMpModel>());
DapperHelper.Execute(strSql.ToString(), model);

如此,大功告成,新增,编辑,获取实体,均可正常解析

最新文章

  1. 由浅入深学习ajax跨域(JSONP)问题
  2. jquery的$().each,$.each的区别
  3. 在ubuntu 14.04 64位添加32位库
  4. win8提升winform软件的权限
  5. Elasticsearch Span Query跨度查询
  6. Thread.CurrentPrincipal & HttpContext.Current.User
  7. 关于JAVA中URL传递中文参数,取值是乱码的解决办法
  8. HTML标签的默认样式
  9. SSH 端口转发
  10. 简单字符串处理 hdu2532 Engine
  11. php的sendmail发件人邮箱设定
  12. 2018-2019-1 20165234 实现mypwd
  13. python操作Redis安装、支持存储类型、普通连接、连接池
  14. centos 安装sbt
  15. Docker 从入门到放弃(一)安装
  16. 记账本,C,Github,entity
  17. debian下如何源码安装tmux
  18. 集成学习-xgboost
  19. ios-密码加密
  20. h5 定位

热门文章

  1. linux查看端口号占用命令-netstat
  2. [人工智能]NumPy基础
  3. View 属性
  4. 从846家初创倒下 看A轮融资后的悬崖
  5. Python——4Dict和Set类型
  6. C++走向远洋——60(项目四、立体类族共有的抽象类)
  7. IP 多播
  8. 先搞清楚这些问题,简历上再写你熟悉Java!
  9. Maven使用和配置
  10. 使用Taiko + Gauge进行自动化测试(一)