DeepEqual.Bindings (nuget): DeepEqual.Bindings extends the idea of comparing 2 object graphs (DeepEqual library).  By default, nodes not matched by name between graphs make objects not equal. With DeepEqual.Bindings you can override that behavior.  You can bind nodes with different names by specifying how they are compared by expression.  The most common usage looks like this:  var a1 = new A1 { B1 = new B1 { Y = "value" } }; var a2 = new A2 { B2 = new B2 { Y = "value" } }; var comparer = ExtendedComparer<A1, A2>.New() .Bind(x1 => x1.B1, x2 => x2.B2); var result = comparer.Compare(a1, a2);  //result is true.
Keywords: DeepEqual|DeepEqual.Bindings|AutoMapper|ExpressMapper