0
字节字符串存储字节[]我有如何使用的EntityFramework
0x4D5A90000300000004000000FFFF0000B80000000000000040 ...从SQL Server生成
。
如何使用EntityFramework将字节string
插入数据库中的byte[]
列?
字节字符串存储字节[]我有如何使用的EntityFramework
0x4D5A90000300000004000000FFFF0000B80000000000000040 ...从SQL Server生成
。
如何使用EntityFramework将字节string
插入数据库中的byte[]
列?
根据我上面的评论,我强烈怀疑这里要做的最好的事情是从服务器以byte []的形式返回数据;这应该很好,很容易做到。但是,如果您的的使用string
,那么您需要解析它 - 取出0x
前缀,将长度除以2以获取字节数,然后使用循环和解析每个2字符子字符串Convert.ToByte(s, 16)
。像(完全未测试):
int len = (value.Length/2)-1;
var arr = new byte[len];
for(int i = 0; i < len;i++) {
var s = value.Substring((i + 1) * 2, 2);
arr[i] = Convert.ToByte(s, 16);
}
你确定*你有它作为一个字符串?我期望SQL Server将它作为byte []返回,但是大多数工具将*表示为'0x {hex}'形式的字符串。有什么理由不能让SQL Server只返回'varbinary'? –
我们正在编写用于默认数据管理的自定义工具。 –
@Ravinda没有告诉我为什么你将二进制数据表示为文本...应该没有必要这样做。用于存储二进制文件的'varbinary(max)'应该没问题。 –