我把数据存储在数据库里 BINARY(16) 我想使用dapper选择数据,并将其Map到 Guid . 做这件事的好方法是什么?轻巧1.50.4
BINARY(16)
Guid
t8e9dugd1#
如果我们数据库中的所有guid都存储为二进制(16),我将继续创建一个自定义类型处理程序,自动将二进制格式转换为guid。比如:
class BinaryGuid { public Guid Guid; public BinaryGuid(byte[] binaryGuid) { <your-code-here> } } public class BinaryGuidHandler: SqlMapper.TypeHandler<BinaryGuid> { public override Roles Parse(object value) { <your-code-here> } public override void SetValue(IDbDataParameter parameter, BinaryGuid value) { <your-code-here> } }
然后你把它注册为dapper使用
SqlMapper.AddTypeHandler(new BinaryGuidHandler());
你应该准备好了:
var r = conn.Query<BinaryGuid>("SELECT MyBinaryGuid FROM MyTable")
我在这里写了一篇关于如何在dapper中管理自定义类型的文章(和示例):https://medium.com/dapper-net/custom-type-handling-4b447b97c620
1条答案
按热度按时间t8e9dugd1#
如果我们数据库中的所有guid都存储为二进制(16),我将继续创建一个自定义类型处理程序,自动将二进制格式转换为guid。比如:
然后你把它注册为dapper使用
你应该准备好了:
我在这里写了一篇关于如何在dapper中管理自定义类型的文章(和示例):
https://medium.com/dapper-net/custom-type-handling-4b447b97c620