Added IncludeHasMany Option:  Because sometimes we have a Normalized database that requires no-Inverse properties, or we just dont want Inverse IList Properties/Fields, this also performs errors in Domain and Maps Generation in cases when we have a Table that has 2 or more foreing key in another table (properties are named as the table that has the reference and two instances gonna be name equally throwing and error of "already existing member with that name")  This change is in App.Designer.cs, App.cs, ApplicationPreferences.cs, ApplicationSettings.cs, and used in: CodeGenerator.cs, ContractGenerator.cs and FluentGenerator.cs

Paralelism Generation: The MaxDegreeOfParallelism was not configured, this may turns in error when someone have problems with databases that could'n manage lots of concurrently connections querying database schema data. (Was my case), if we limit to something more real like "The quantity of current Logical processors" using Environment.ProcessorCount resolves the case.  This change is in App.cs

Use Lazy options just manages the properties references, but does not manage the "LazyLoad();" call in Map's Classes (Table mappings Definitions) at least in FluentGenerator.cs

Using statement missing: The Namespace of the Domain must be included in "using" header's sections in order to work the reference to Defined Domain Mapped(this wasn't currently managed, solved). This change is in FluentGenerator.cs

No PrimaryKey Cases: In one of my databases i've received lots of errors related to Primary Key, cases when the definition is null this was happened at least in tables that has no Primary Key, I added a check if PrimaryKey is Null to ignore the addition or PrimaryKey inexisting mappings. This change is in FluentGenerator.cs

Inflector Disabled by Default: This has to be disableable, Meanwhile Inflectors definitions will be commented. (TODO: include a CheckBox to Disable this by default and a warning text with the location of the Inflectors Definitions "Inflector.cs" to allow the user with non English Database to go and edit the current definitions) This change is in Inflector.cs

Existing PascalCase Tables: This existing pascalcase tables are converted to only-first-char-uppercase style because dont have space or underscore convention (exist many cases with PascalCase TableName, it consider the PascalCase as the "RestOfWord" when really isn't)  This change is in Inflector.cs

Ilegal Chars in Class or Property name's: In cases when a table or column has a wild name like "Nº Cases", "Inc. Main" or "% Complete", etc the resulting in "NºCases", "Inc.Main" or "%Complete" Class or Property Name's. This change is in TextFormatter.cs
Fixes: https://nmg.codeplex.com/workitem/7852
Request: Make "s"-suffix optional
https://nmg.codeplex.com/workitem/7848
Mistake
Cleaner Fluent Mapping CompositeId().
Cleaner code
This:
        public override bool Equals(object obj) {
            ...
            if (field1 == t.field1
             && field2 == t.field2
             && fieldn == t.fieldn)
            ...
        }
instead of:
        public override bool Equals(object obj) {
            ...
            if (field1 == t.field1 && field2 == t.field2 && fieldn == t.fieldn)
            ...
        }
New Feature: Allow to generate Foreign Keys properties with the actual name of the column instead of the Foreign Referenced by the ForeignKey Table Name.
CheckBox says: (under "Include Foreign Keys" CheckBox reads as "Name as Foreign Table"), since it depends of it.

Example:
...
public virtual Materials PrincipalMaterial { get; set; }
public virtual Materials SecundaryMaterial { get; set; }
...
instead of
...
public virtual Materials Materials { get; set; }
public virtual Materials Materials { get; set; }
...
In cases when the property is created by a Column named like "cod_PrincipalMaterial", exist the posibility to add the "cod_" prefix for removal in generation process.
Improvement: use cleaner Nullable Types

int?
instead of
System.Nullable<int>

Improvement: remove extra parenthesis from Attributes with no parameters

[NotNullNotEmpty]
instead of
[NotNullNotEmpty()]
To be More cleaner.
I started to think seriously about this application should be rewritten.
It is difficult to make corrections because all things are descentralized and repeated in many places.
I'm just make it work with Fluent Mapping because I know it and I use it, hope someone try to make the changes for the other mappings too.

Fix: There is a problem when a Table has a column with the same name as the table. This generates a Class with a property named as the same class, and this is not allowed. I managed the problem adding a suffix to the property, far now is static "Var" but is easily replaceable with a app config value, I will try to do it later.
bug fix.
BugFix, Bad generation when column have more than one ForeignKey restriction to the same Foreign Table (this is not common but I had a probably bad mantained database with that)
I needed to undone the NameFkAsForeignTable in some places, i dont know if still works well or not. be careful.
Files can't be named as "con" in windows.
Escape apostrofe/single quote table names in sql server.
Merge branch 'braian87b_master' into dev
SequenceComboBox enabled in Firebird. Set empty string as default.