public EntityTypeConfiguration <TEntityType> HasKey <TKey>(
            Expression <Func <TEntityType, TKey> > keyExpression,
            Action <PrimaryKeyIndexConfiguration> buildAction)
        {
            Check.NotNull(keyExpression, "keyExpression");
            Check.NotNull(buildAction, "buildAction");

            _entityTypeConfiguration.Key(keyExpression.GetSimplePropertyAccessList().Select(p => p.Single()));

            buildAction(new PrimaryKeyIndexConfiguration(_entityTypeConfiguration.ConfigureKey()));

            return(this);
        }
 /// <summary>
 /// Configures the primary key settings for this entity type.
 /// </summary>
 /// <returns> The PrimaryKeyIndexConfiguration instance so that the index can be further configured. </returns>
 public PrimaryKeyIndexConfiguration ConfigureKey()
 {
     return(new PrimaryKeyIndexConfiguration(_entityTypeConfiguration.ConfigureKey()));
 }