gpt4 book ai didi

c# - NHibernate:读取 mysql Blob 字段 - 值返回为 "System.Byte[]"

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:48 24 4
gpt4 key购买 nike

我有一个带有属性的类:

virtual public string Data { get; set; }

example.hbm.xml 将其绑定(bind)到:

<property name="Data" type="string" column="data" ></property>

MySql 中的表是用:

CREATE TABLE `xxx` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`data` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;

我可以成功写入数据库,并且可以看到正确写入的列中的文本。

当我尝试从此表中读取记录时,“数据”属性的值为“System.Byte[]”。这也是该属性的值。它的类型是“System.String”。

要做什么?提前感谢您提供任何线索。

我也试过 charset=UTF8。

我还在映射文件中尝试了 type="StringClob"。

谢谢泰美克

最佳答案

您可能需要将其作为 byte[] 进行读写。所以你的属性定义看起来像这样:

public virtual byte[] Data { get; set; }

除此更改外,您还需要更改映射中的类型。我不确定是什么类型。我认为它可能是 blob。

如果需要,您可以轻松地将此数据转换为字符串。

关于c# - NHibernate:读取 mysql Blob 字段 - 值返回为 "System.Byte[]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5801883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com