I am using Entity Framework 5 and I have the following entities:
public class User { public Int32 Id { get; set; } public String Username { get; set; }
MapKey is only used if your foreign key column is not exposed as a property in your model. But in your case it is - as property Claim.Id. In that case you must use HasForeignKey instead of MapKey:
MapKey
Claim.Id
HasForeignKey
HasRequired(x => x.User) .WithMany(y => y.Claims) .HasForeignKey(x => x.Id);