protected override MappingInfo ProcessDefaultMapping(MappingInfo mapping) { // Remove the RoleId property from the template, it's supposed to be hidden var roleMemberships = mapping.CollectionPropertyByName(nameof(Role.Members)); var roleProp = roleMemberships.SimplePropertyByName(nameof(RoleMembership.RoleId)); roleMemberships.SimpleProperties = roleMemberships.SimpleProperties.Where(p => p != roleProp); mapping.NormalizeIndices(); // Fix the gap we created in the previous line return(base.ProcessDefaultMapping(mapping)); }