C# ==是否将始终对SQL中的二进制文件执行SequenceEqual()?
我需要比较由Linq2sql执行的查询中的二进制值C# ==是否将始终对SQL中的二进制文件执行SequenceEqual()?,c#,sql,.net,sql-server,linq-to-sql,C#,Sql,.net,Sql Server,Linq To Sql,我需要比较由Linq2sql执行的查询中的二进制值 table1.FirstOrDefault(r => r.ID.SequenceEqual(id))//ID and id are binary/byte[]. 但是Linq2sql正在抛出异常,因为它没有为SQL定义,所以无法在其中执行SequenceEqual 我发现它创建了一个新的Compare方法来混淆Linq,从而允许它 但后来我发现,==也能正常工作,因为SQL总是逐字节比较二进制文件 但由于我看到的答案并没有带来这个简单的
table1.FirstOrDefault(r => r.ID.SequenceEqual(id))//ID and id are binary/byte[].
但是Linq2sql正在抛出异常,因为它没有为SQL定义,所以无法在其中执行SequenceEqual
我发现它创建了一个新的Compare
方法来混淆Linq,从而允许它
但后来我发现,==
也能正常工作,因为SQL总是逐字节比较二进制文件
但由于我看到的答案并没有带来这个简单的解决方案,我想知道它是否真的会一直有效
那么,我在这里遗漏了什么陷阱吗?正如@Sonal所说,
=
将始终用于比较字节[]
或任何其他支持相等比较的数据类型,但是您提到的问题没有检查相等,但它要求使用大于或小于运算符(
和==应使用Sql执行。请查看此链接,谢谢。投票结果已确定。但我将等待,因为第一个回答的实际上是Sql,所以我将查看他们是否在此处发布答案。