/// <summary>
        /// Initializes a new instance of the <see cref="ModelOptionsBase"/> class.
        /// </summary>
        protected ModelOptionsBase(VariableDictionary variables, string prefix)
            : base(variables, prefix)
        {
            // null so shared option is used
            Namespace = null;
            Directory = null;

            Generate = false;

            Include = new SelectionOptions();
            Exclude = new SelectionOptions();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="EntityClassOptions"/> class.
        /// </summary>
        public EntityClassOptions(VariableDictionary variables, string prefix)
            : base(variables, AppendPrefix(prefix, "Entity"))
        {
            Namespace = "{Project.Namespace}.Data.Entities";
            Directory = @"{Project.Directory}\Data\Entities";

            RelationshipNaming              = RelationshipNaming.Plural;
            EntityNaming                    = EntityNaming.Singular;
            PrefixWithSchemaName            = false;
            AddIgnoreMapAttributeOnChildren = true;
            AddReadOnlyIdProperty           = false;
            GeneratePkValue                 = true;

            Include = new SelectionOptions();
            Exclude = new SelectionOptions();
        }