Código EF4 primeiro - como mapear corretamente a divisão de uma entidade entre várias tabelas

Estou usando o EF4 CTP5 para tentar manter um objeto POCO dividido em duas tabelas, sendo o link o ContactID. Quando eu salvo um contato, desejo que as informações de contato principais sejam salvas em uma tabela (Contatos) e o link para o usuário que possui o contato salvo em outra (UserToContacts). Eu tenho o mapeamento personalizado definido abaixo, mas quando eu SaveChanges, recebo o seguinte erro:

Um valor compartilhado entre entidades ou associações é gerado em mais de um local. Verifique se o mapeamento não divide uma EntityKey em várias colunas geradas pela loja.

Todas as idéias seriam muito apreciadas!

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        /// Perform Custom Mapping
        modelBuilder.Entity<Contact>()
           .Map(mc =>
           {
               mc.Properties(p => new
               {
                   p.ContactID,
                   p.FirstName,
                   p.MiddleName,
                   p.LastName
               });
               mc.ToTable("Contacts");
           })
        .Map(mc =>
        {
            mc.Properties(p => new
            {
                p.ContactID,
                p.UserID
            });
            mc.ToTable("UserToContacts");
        });
    }

questionAnswers(2)

yourAnswerToTheQuestion