public NavigationPropertyBindingConfiguration HasRequiredBinding <TTargetType, TDerivedEntityType>(
            Expression <Func <TDerivedEntityType, TTargetType> > navigationExpression, string entitySetName)
            where TTargetType : class
            where TDerivedEntityType : class, TEntityType
        {
            if (navigationExpression == null)
            {
                throw Error.ArgumentNull("navigationExpression");
            }

            EntityTypeConfiguration <TDerivedEntityType> derivedEntityType =
                _modelBuilder.Entity <TDerivedEntityType>().DerivesFrom <TEntityType>();

            return(_configuration.AddBinding(derivedEntityType.HasRequired(navigationExpression), _modelBuilder.EntitySet <TTargetType>(entitySetName)._configuration));
        }