如何检查两个不同的LINQ查询是否具有相同的结果?

Moh*_*kar 0 .net c# linq expression

打击两个不同的查询评估相同的结果.
我需要在不执行查询的情况下检查这些的相等性.
如何检查两个不同的LINQ查询是否相同?

var exprA = (from o in orders where o.HasPrice == true);
var exprB = (from o in orders where o.HasPrice != false);
//HasPrice is a boolean
Run Code Online (Sandbox Code Playgroud)

任何.NET解决方案或现有库的构建都将受到赞赏.

Ami*_*mit 5

如果这两个(或任何其他两个)语句"相同"则定义非常差.如果HasPrice是不是如人们所期望的一个布尔值?

在任何情况下,最接近答案的是你需要使用SMT算法来评估它.我不知道你的用例存在"开箱即用".