How can I configure relationships between three tables to get all related data?

I have the following models (and the same tables in database):

```
public class Client 
{
  public Guid ClientId { get; set; }
  public string FirstName { get; set; }

  public virtual ClientCard ClientCard { get; set; }
}

public class Card
{
  public Guid CardId { get; set; }
  public string Number { get; set; }

  public virtual ClientCard ClientCard { get; set; }
}

public class ClientCard
{
  public Guid ClientCardId { get; set; }
  public Guid CardId { get; set; }
  public Guid ClientId { get; set; }

  public virtual Client Client { get; set; }
  public virtual Card Card { get; set; }
}

```

And the following OnModelCreating method:

```
protected override void OnModelCreating(DbModelBuilder builder)
    {
        builder.Conventions.Remove<PluralizingTableNameConvention>();

        ...

        builder.Entity<ClientCard>()
            .HasKey(x => x.ClientCardId);

        builder.Entity<ClientCard>()
            .HasRequired(x => x.Client)
            .WithRequiredPrincipal(x => x.ClientCard);

        builder.Entity<ClientCard>()
            .HasRequired(x => x.Card)
            .WithRequiredPrincipal(x => x.ClientCard);

        base.OnModelCreating(builder);
    }

```

But the results return without related data. Why?