C'est la confusion récurrente entre gauche et droite, voir ceci explication par Slauma. Il vous suffit donc d'inverser les noms des clés :
m.MapLeftKey("UserId"); // Property in the HasMany call
m.MapRightKey("SessionId"); // Property in the WithMany call