It is stated on the documentation:
The interesting column here is StateRecord_Id. As you can see, its type is the same as the type of the Id column of the StateRecord class, because the system will be able to recognize this as a foreign key and to map that integer value to a StateRecord property by just following the relation. It is important here that the name of the column that will represent the relation is the name of the column on the "1" end of the relation, followed by an underscore and the name of the column of the "n" end of the relation.
But if I implement StateRecord as a ContentPartRecord, Id column will not be implemented explicitly and will be included by .ContentPartRecord().
Should I implement a StateRecord_Id in the same way?