问题描述
我将byte[]
作为varbinary(64)
存储在SQL Server数据库中,我需要使用输入byte[]
查找特定行。我正在使用Entity Framework访问数据库,因此可以运行这样的linq查询:
private MyTable GetMyTable(byte[] inputArray)
{
return _context.MyTable.FirstOrDefault(x => x.Hash.SequenceEqual(inputArray));
}
问题在于SequenceEqual
无法转换为SQL查询,并且该查询将在本地进行评估(这是不受欢迎的行为)。是否可以将SequenceEqual
替换为简单的比较运算符==
?还是这种方法容易出错?有没有比这更好的选择了?
private MyTable GetMyTable(byte[] inputArray)
{
return _context.MyTable.FirstOrDefault(x => x.Hash == inputArray);
}
请注意,我的字节数组的范围为32到64个字节,因此不会比较大。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)