Revert "Revert "custom primary keys (not composite, yet) supported on projections""

This reverts commit 761ef03b035a8efee7fa80aef6ccb11fffaf7ea6.
handle non-id/composite primary keys on ==. and !=.