Това е повтарящото се объркване с ляво и дясно, вижте това обяснение от Slauma. Така че просто трябва да обърнете имената на ключовете:
m.MapLeftKey("UserId"); // Property in the HasMany call
m.MapRightKey("SessionId"); // Property in the WithMany call