比较SQL Server中的两个字节数组

问题描述

我将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 (将#修改为@)