如何将 GUID 数组作为参数传递给 Dapper/MySQL?
How to pass an Array of GUIDs to Dapper/MySQL as parameter?
我有一个 table,ID
字段是一个 GUID
以 binray 形式存储。
现在我需要将 GUID
的数组传递给 MySQL 来执行下面的查询:
SELECT `ID` FROM `TABLE_NAME` WHERE `ID` IN (...`GUIDs in Binary Form`...);
但是,MySqlConnector 似乎不支持字节数组的数组(Byte[][]
),Dapper 无法转换这种类型的参数。
我正在使用自定义函数将 GUID
类型转换为 Byte[]
。
有什么办法可以在 Dapper 中执行上述查询吗?
如果您将 MySqlConnector, you can set the GuidFormat
连接字符串选项用于 Binary16
、LittleEndianBinary16
或 TimeSwapBinary16
以匹配您的应用程序代码的转换方式 Guid
到字节数组。
然后你可以使用 Dapper's list support 传递一个 IEnumerable<Guid>
或 Guid[]
作为参数:Dapper 会将其扩展为单个 Guid
参数的列表,而 MySqlConnector 将将它们正确格式化为您的 MySQL table.
的二进制文件
我有一个 table,ID
字段是一个 GUID
以 binray 形式存储。
现在我需要将 GUID
的数组传递给 MySQL 来执行下面的查询:
SELECT `ID` FROM `TABLE_NAME` WHERE `ID` IN (...`GUIDs in Binary Form`...);
但是,MySqlConnector 似乎不支持字节数组的数组(Byte[][]
),Dapper 无法转换这种类型的参数。
我正在使用自定义函数将 GUID
类型转换为 Byte[]
。
有什么办法可以在 Dapper 中执行上述查询吗?
如果您将 MySqlConnector, you can set the GuidFormat
连接字符串选项用于 Binary16
、LittleEndianBinary16
或 TimeSwapBinary16
以匹配您的应用程序代码的转换方式 Guid
到字节数组。
然后你可以使用 Dapper's list support 传递一个 IEnumerable<Guid>
或 Guid[]
作为参数:Dapper 会将其扩展为单个 Guid
参数的列表,而 MySqlConnector 将将它们正确格式化为您的 MySQL table.