c# - Dapper 自定义类型处理程序
问题描述
我正在试验 SQL 的 JSON 功能与 Dapper 的结合,以在单个查询中获得 1:N 关系。我已经有了以下自定义类型处理程序,并且一切都按预期工作。
public class CustomTypeHandler<T> : SqlMapper.TypeHandler<T>
{
public override T Parse(object value)
{
return JsonConvert.DeserializeObject<T>(value.ToString());
}
public override void SetValue(IDbDataParameter parameter, T value)
{
parameter.Value = JsonConvert.SerializeObject(value);
}
}
我可以注册它的用法
SqlMapper.AddTypeHandler(new CustomTypeHandler<MyClass>());
我将在我的代码中结合使用“普通”查询和 json 查询。但是一旦注册了我的自定义处理程序,它将始终使用我的 CustomTypeHandler 类。有没有办法将“标准”的组合用作我的自定义?
现在,作为一种解决方法,我在我的 JSON 查询之前注册类型并在之后再次重置类型处理程序。
解决方案
推荐阅读
- angular - 如何将 Angular 8 与 CodeIgniter 集成?
- r - 在 R 中创建一个包含所有连续区域组合的矩阵
- python - 打印出列表中每个项目的首字母
- visual-studio - Visual Studio 2017 和 CMake - 如何设置构建目录
- scala - “New ▸ Scala Script”发生了什么?
- android - 不明白为什么要扩展 baseadapter 类以及方法来自哪里?
- spring - Spring测试中的bean
- java - 如何使用 Apache MINA SSHD 对嵌入式 SFTP 实施无密码身份验证
- android - 使标签栏在颤振应用程序中始终可见
- javascript - 使用 JS 的 Microsoft Teams 图形 API - 获取组信息