AspNet EF referenciando chave estrangeira ao campo

Estou tendo dois modelos:

public class Customer
{
    public int Id { get; set; }
    public int Number { get; set; }
    public int ParentNumber { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public string Language { get; set; }
}

e

public class Batch
{
    public int Id { get; set; }
    public int Number { get; set; }
    public string FileName { get; set; }
    public string ArticleNumber { get; set; }
    public string ArticleDescription { get; set; }
    public int Weight { get; set; }
    public DateTime ProductionDate { get; set; }
    public DateTime DeliveryDate { get; set; }
    public DateTime BestBeforeDate { get; set; }
    public DateTime? ApprovedDateTime { get; set; }
    public int CustomerId { get; set; }
    public virtual Customer Customer { get; set; }
}

Um lote pode ter um cliente anexado a ele. Mas, como estamos importando os dados de outro sistema, decidimos não assumir o controle deles.id's. No momento, a chave estrangeira diz: tente encontrar um cliente pela propriedadeCustomer.Id

Estou tentando conseguir o ponto chave estrangeiro paraCustomer.Number deBatch.Customer(Id)

Como eu teria sucesso nisso? Eu tentei definir o Customer.Number para ser uma chave com o atributo Key .. mas isso fez a chave primária passar de Id para Number, que não é o que eu queria ...

questionAnswers(1)

yourAnswerToTheQuestion