如何将 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 连接字符串选项用于 Binary16LittleEndianBinary16TimeSwapBinary16 以匹配您的应用程序代码的转换方式 Guid到字节数组。

然后你可以使用 Dapper's list support 传递一个 IEnumerable<Guid>Guid[] 作为参数:Dapper 会将其扩展为单个 Guid 参数的列表,而 MySqlConnector 将将它们正确格式化为您的 MySQL table.

的二进制文件