Consider the following test:
[Fact] public void Should_translate_with_a_hierarchical_redundancy_and_when_one_field_doesnt_start_with_another() { var result = Project(p => new { p.C.E, F = p.C.E1.F }, "{ C : { E : { H : 3 }, E1 : { F : 2 } } }"); result.Projection.Should().Be("{ \"C.E\" : 1, \"C.E1.F\" : 1, _id : 0 }"); result.Value.E.H.Should().Be(3); result.Value.F.Should().Be(2); }
With released 2.9.1 this test fails, because the FindProjectionTranslator.GetUniqueFieldsByHierarchy does not use periods to determine the common prefix.