我有
... 0x4D5A90000300000004000000FFFF0000B80000000000000040
从sql server生成。
如何使用EntityFramework在数据库的string
列中插入字节byte[]
?
答案 0 :(得分:2)
根据我上面的评论,我强烈怀疑这里最好的办法是从服务器以字节[]的形式返回数据;这应该很好,很容易做到。但是,如果 使用string
,那么您需要解析它 - 取消0x
前缀,将长度除以2得到字节数,然后依次使用Convert.ToByte(s, 16)
循环和解析每个2个字符的子字符串。像(完全未经测试)的东西:
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);
}